spring框架注解小结

1@Autowired

@Autowired顾名思义,就是自动装配其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property。当然,getter看个人需求,如果私有属性需要对外提供的话,应当予以保留。

@Autowired默认按类型匹配的方式,在容器查找匹配的Bean,当有且仅有一个匹配的Bean时,Spring将其注入@Autowired标注的变量中。


2.@Qualifier(指定注入Bean的名称)

如果容器中有一个以上匹配的Bean,则可以通过@Qualifier注解限定Bean的名称


3.@Resource的装配顺序:

(1)、@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配
(2)、指定了name或者type则根据指定的类型去匹配bean
(3)、指定了name和type则根据指定的name和type去匹配bean,任何一个不匹配都将报错

然后,区分一下@Autowired和@Resource两个注解的区别:
(1)、@Autowired默认按照byType方式进行bean匹配,@Resource默认按照byName方式进行bean匹配
(2)、@Autowired是Spring的注解,@Resource是J2EE的注解,这个看一下导入注解的时候这两个注解的包名就一清二楚了

****注意: Spring属于第三方的,J2EE是Java自己的东西,因此,建议使用@Resource注解,以减少代码和Spring之间的耦合。

4.@Component

@Component是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。

5.@Controller
@Controller对应表现层的Bean,也就是Action

6.@Service

@Service对应的是业务层Bean

7.@ Repository

8.@Repository对应数据访问层Bean

9.@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。

10.@Scope注解 作用域

11.@Lazy(true) 表示延迟初始化

12.@Scope用于指定scope作用域的(用在类上)

13.@PostConstruct用于指定初始化方法(用在方法上)

14.@PreDestory用于指定销毁方法(用在方法上)

15.@DependsOn:定义Bean初始化及销毁时的顺序

16.@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常

17.@PostConstruct 初始化注解

18.@PreDestroy 摧毁注解 默认 单例  启动就加载

19.@Async异步方法调用

20.@suppressWarnings压制冲突
********可能遗漏了一些,想到哪写到哪吧,请批评指正,谢谢!




猜你喜欢

转载自blog.csdn.net/cafuf/article/details/78294731
今日推荐