Spring支持的JSR-250和JSR-330 (Dependency Injection for Java) 的Annotation有:
@Required 检测属性是否被注入
@Autowired 设置属性自动注入,还可以设置required值为@Autowired(required=false)
@Resource
@PostConstruct
@PreDestroy
@Inject 和@Autowired一样,除了不能设置required的值,不过它是JSR-330的Annotation。
@Qualifier 和@Autowired一起使用,在使用@Autowired的type时,可能会有多个bean具有相同的bean,使用@Qualifier可以缩小范围。
@Named
@Provider
当使用JSR-330的Annotation的时候,需要将其jar包括在classpath中
<context:annotation-config/> only looks for annotations on beans in the same application context in which it is defined.
@Required 检测属性是否被注入
@Autowired 设置属性自动注入,还可以设置required值为@Autowired(required=false)
@Resource
@PostConstruct
@PreDestroy
@Inject 和@Autowired一样,除了不能设置required的值,不过它是JSR-330的Annotation。
@Qualifier 和@Autowired一起使用,在使用@Autowired的type时,可能会有多个bean具有相同的bean,使用@Qualifier可以缩小范围。
@Named
@Provider
当使用JSR-330的Annotation的时候,需要将其jar包括在classpath中
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
</beans>
<context:annotation-config/> only looks for annotations on beans in the same application context in which it is defined.