spring 基于注解配置

注解Bean,通用类型为@Component
I.@Repository:用于对DAO实现类进行注解
I.@Service:用于对Service实现类进行注解
II.@Controller:用于对Controller实现类进行注解

@Autowired为类型匹配
若容器启动没有一个和标注变量类型匹配的Bean,Spring容器启动时将抛出NoSuchBeanDefinitionException的异常,@Autowired(required=false)可避免异常的抛出
@Qualifier指定注入的bean名称
@Autowired
@Qualifier(“userDao”)
对类方法进行注解:spring 允许对方法内入参标注@Qualifier以指定注入Bean的名称
@Autowired
Public void init(@Qualifier(“userDao”)UserDao userDao,LogDao logDao){}
对集合类进行注解
@Component

Public class MyComponent{
@Autowired(required=false)
Private List<Plugin>plugins;
}
Plugin为一个接口,它有两个实现类,分别是OnePlugin和TwoPlugin,通过@Component标注为Bean,Spring会将这两个Bean 都注入到plugins中
对标准注解的支持:
@Resource(“car”)
Private void setCar(Car car){
System.out.println(“execute in setCar”);
This.car = car;
}
如果未指定”car”属性,则也可以根据属性方法得到需要注入的Bean名称。@Autowired默认按类型匹配注入的Bean,@Resource则按名称匹配注入的Bean。@Inject和@Autowired一样也是按类型匹配注入的Bean的,只不过没有required属性,@Resource和@Inject都没有@Autowired丰富,除非必要,可不必在乎这两个注解

你可能感兴趣的:(spring 基于注解配置)