[Spring]Annotation-based container configuration_AnotationBasis_03 --JSR 330 Standard Annotations

来源:互联网 发布:软件需求工程师转行 编辑:程序博客网 时间:2024/05/29 10:36

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;@Injectpublic void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder;}public void listMovies() { this.movieFinder.findMovies(...); ...} }

@Inject并没有required属性可以设置


@Named 

同时具有@Qulifier和@Component的功能

import javax.inject.Inject; import javax.inject.Named;public class SimpleMovieLister { private MovieFinder movieFinder;@Injectpublic 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;@Injectpublic void setMovieFinder(MovieFinder movieFinder) { this.movieFinder = movieFinder;}// ...}



@Singleton 类似于 @Scope("singleton")


0 0