JSR 330 Standard Annotations
<dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</version>
</dependency>由于这并不包含在javaspring框架中 所以需要通过maven导入依赖
@Inject
类似于@Autowired
import javax.inject.Inject; public class SimpleMovieLister {
private MovieFinder movieFinder;
@Inject
public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder;
}
public void listMovies() { this.movieFinder.findMovies(...); ...
} }
@Inject并没有required属性可以设置
@Named
import javax.inject.Inject; import javax.inject.Named;
public class SimpleMovieLister { private MovieFinder movieFinder;
@Inject
public void setMovieFinder(@Named("main") MovieFinder movieFinder) {
this.movieFinder = movieFinder; }
// ...
}import javax.inject.Inject; import javax.inject.Named;
@Named("movieListener")
public class SimpleMovieLister { private MovieFinder movieFinder;
@Inject
public void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder;
}
// ...
}
@Singleton 类似于 @Scope("singleton")
本文详细介绍了JSR330标准中的核心注解,包括@Inject、@Named和@Singleton的作用与用法,并提供了具体的代码示例。了解这些注解如何帮助实现依赖注入及组件的命名和作用域。
588

被折叠的 条评论
为什么被折叠?



