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")