常见面试题-Spring 注释(4)

2019-08-16  本文已影响0人  走着别浪

1、 Spring完成java注解配置?

Java注解配置是Spring4.x推荐的配置方式,可以完全替代xml配置。Spring的Java注解配置方式是通过 @Configuration 和 @Bean 这两个注解实现的:

A、@Configuration 作用于类上,相当于一个xml配置文件;

B、@Bean 作用于方法上,相当于xml配置中的<bean>;

2、Spring 基于注解的容器配置?

@Qualifier :用来控制bean应在字段上自动装配

@Autowired :自动装配 bean,它可以在 setter 方法,构造函数或字段中使用

@Resouce :自动注入的field或set方法上,也可以是普通的非set方法上

@Required 强制要求注入,没有注入会出现异常

这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationException。

bean初始化和销毁某些动作时:

@PostConstruct

@PreDestroy

3、怎样开启注解装配?

注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在Spring配置文件中配置 <context:annotation-config/>元素。

4、声明bean的注解

@Component 组件,没有明确的角色

@Service 在业务逻辑层使用(service层)

@Repository 在数据访问层使用(dao层)

@Controller 在展现层使用,控制器的声明(C)

5、注入bean的注解

@Autowired:由Spring提供

@Inject:由JSR-330提供

@Resource:由JSR-250提供

都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。

6、java配置类相关注解

@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上)

@Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上)

@Configuration 声明当前类为配置类,其中内部组合了@Component注解,表明这个类是一个bean(类上)

@ComponentScan 用于对Component进行扫描,相当于xml中的(类上)

@WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解

7、切面(AOP)相关注解

Spring支持AspectJ的注解式切面编程。

@Aspect 声明一个切面(类上)

使用@After、@Before、@Around定义建言(advice),可直接将拦截规则(切点)作为参数。

@After 在方法执行之后执行(方法上)

@Before 在方法执行之前执行(方法上)

@Around 在方法执行之前与之后执行(方法上)

@PointCut 声明切点

在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上)

上一篇下一篇

猜你喜欢

热点阅读