spring注解适用于spring版本3.0以后
若要使用注解就需要在applicationContext.xml中配置<context:component-scan>包含<context:annotation-config>
也就是说有了<context:component-scan>这个,就不用再配置这个标签<context:annotation-config>
默认情况下,类会被自动发现并注册bean的条件:使用
@Component @Repository @Service @Controller注解或者使用@Component 的自定义注解
@Scope("prototype")//非单例子模式
@Required注解适用于bean属性的setter方法 这个注解表示,受影响的bean属性必须在配置时候被填充,通过bean定义或者通过自动装配一个明确的属性值(不常用)
@Autowired 可用于传统的setter方法上,也可用于构造器或者成员变量(常用) 需要注意的是,当使用Autowired 的时候如果找不到合适的bean会抛出异常,当然可以通过设置
@Autowired(required=false)不让抛出异常,且一个类只能有一个构造方法被标记为@Autowired(required=true)
@Configuration标志一个类 @Bean标志一个方法,这个方法可以返回一个类
变量的注解可以用@Autowired ,同时变量类型的类必须使用注解@Repository 或者@Component如图下4个图
@Autowired(required=false)保证在没有找到对应类的时候不抛出异常,默认是true