0%

Spring对JSR-330的支持

  • 从Spring3.0开始支持JSR330标准注解(依赖注入注解),其扫描方式与Spring注解一致

  • Spring自带的@Autowired的缺省情况等价于JSR-330的@Inject注解;

  • Spring自带的@Qualifier的缺省的根据Bean名字注入情况等价于JSR-330的@Named注解;

  • Spring自带的@Qualifier的扩展@Qualifier限定描述符注解情况等价于JSR-330的@Qualifier注解。

  • 使用JSR330需要依赖javax.inject包

  • 使用Maven引入方式

    1
    2
    3
    4
    5
    6
    <!-- https://mvnrepository.com/artifact/javax.inject/javax.inject -->
    <dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
    </dependency>

  • @Named也可以用在类上,等价于@Component
  • @Named(value="") 可以指定 Bean Name , 类似于@Qualifier
1
2
3
4
@Inject
public void setUsrDAO(@Named("jsrDAO")JsrDAO jsrDAO){
this.jsrDAO=jsrDAO;
}