若未给bean对象声明名字,默认为类的首字母小写
我们自己的类要声明成Bean对象,只需要在类上加上
@Component @Controller @Service @Repository
第三方类转为Bean对象
若类是第三方依赖提供的,我们不能进行编辑,不能在类上加上注解。
@Configuration//声明为配置类 public class CommonConfig { //声明第三方bean @Bean//将方法返回值交给IOC容器管理,成为IOC容器的bean对象 //通过@Bean注解的name/value属性指定bean名称,如果未指定,默认是方法名 public SAXReader saxReader(){ return new SAXReader(); } }
@Component及衍生注解与@Bean注解使用场景:
1.项目中自定义的,使用@Component及衍生注解
2.项目中引入第三方的,使用@Bean注解
自己类的Bean对象进行依赖注入:
@Autowired private ApplicationContext applicationContext;
第三方Bean在声明的时候需要依赖注入:
在定义Bean对象的方法参数中设置形参即可,容器会根据类型自动装配。