文章字数:317,阅读全文大约需要1分钟
@Configuration
和@Bean
是Spring中常用的用于配置的Bean的两个注解(将@Bean
注解的方法返回的类注入spring)
@Bean
定义
1
2
3//用于注解方法和注解的定义
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)适用范围
@Bean
可作用于组件@Component
,该注解及其扩展注解均可使用:@Component
定义类为组件,并且注入Spring中@Repository
定义DAO层@Service
Service服务层类@Controller
控制层类@Configuration
标记这是一个配置Bean的类,通常和@bean
一起使用。可以使用类中的其它@Bean注入的bean,其它不行。作用
用@Bean注解的方法:会实例化、配置并初始化返回一个新的对象,这个对象会由spring IoC 容器管理。
1
2
3
4
5
6
7
public class AppConfig{
public MyService myService(){
return new MyServiceImpl();
}
}相当于 (beam默认使用注解方法名作为bean的id)
1
2
3<beans>
<bean id="myService" class="com.acme.services.MyServiceImpl">
</beans>给bean起名
1
2
3
4//指定名称
@Bean(name = "myFoo")
//指定多个名字
@Bean(name = { "dataSource", "subsystemA-dataSource", "subsystemB-dataSource" })
@Configuration
@Configuration
和@Component
区别在于@Configuration
可以在注入类内依赖的Bean,即上一个方法注入的bean可以被下一个方法获取使用。
1 |
|