spring4.x中@Bean 和 @Configuration
在spring4.x中,全面支持注解开发,可以零xml配置,确实开发方便了很多。其中有两个注解@Bean和@Configuration两个注解,经常会被用到。@Configuration用来标注配置类,就相当于以前写xml配置bean时候,所有bean标签都在xml中写,现在bean全部使用@Bean在@Configuration类中标注。简单来说@Bean就是往IOC容器中放一个bean,@Configuration就是替换xml配置文件。
但是@Bean并不一定要放在@Configuration标注得类中,只要是spring管理的bean中,使用@Bean标注出来的bean都会被放入到IOC容器,也就是说@Component/@Service..这些类里面使用@Bean也可以往IOC容器添加bean。一般情况@Bean都是结合@Configuration一起使用,总该有点区别吧?区别就在于@Configuration中使用@Bean标注的时候,如果要引用另一个bean,可以直接调用另一个bean的生成方法,这是会从IOC中找;而在@Component引用另一个bean,如果直接写另一个bean的生成方法,就是真的调用那个方法生成一个新的bean,不是从spring的IOC容器中找。
那么@Bean到底什么时候会用到?直接用@Component/@Service/@Repository...不就直接放到IOC容器了,好像根本不需要@Bean来多此一举。是的一般情况下确实不需要@Bean来,直接使用哪些注解就可以了,但是如果我们需要用到别的三方jar包中的类的方法的时候,就需要创建一个对象出来,就可以用这种方式了。
spring文档说明:
上一篇: DataVec/执行器
下一篇: java中==等于符的方方面面
推荐阅读
-
json和bean互转中时间格式的显示和处理(时间格式显示)
-
Spring中bean的初始化和销毁几种实现方式详解
-
详解SpringIOC容器中bean的作用范围和生命周期
-
Spring中为bean指定InitMethod和DestroyMethod的执行方法
-
Spring中Bean的生命周期自定义销毁和初始化方法实现详解
-
Spring中Bean的作用域singleton和prototype
-
spring中两种创建容器的方式和三种获取bean的方式
-
Spring中Bean初始化和销毁方法执行的优先级
-
Spring中@Configuration、@ComponentScan和@Bean注解
-
Spring注解:@Configuration和@Bean