Spring 学习——Spring JSR注解——@Resoure、@PostConstruct、@PreDestroy、@Inject、@Named
JSR
- 定义:JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
- 扩展:属于JSR的jar包存在于javax包下。
Spring对JRS-250的支持注解
- @Resoure
- @Resoure(name=" ")相当于@Autowired和@Qualifier(value=" "),起作用是将已经装配的bean注入到类的属性中或者setter方法中。
@Service public class JsrService { @Resource // @Autowired // @Qualifier(value = "jsrDao") private JsrDao jsrDao; // @Resource // public void setJsrDao(JsrDao jsrDao) { // this.jsrDao = jsrDao; // } public void save(){ jsrDao.save(); System.out.println("JsrService.save== I am success"); } }
- Next
- @Resoure(name=" ")相当于@Autowired和@Qualifier(value=" "),起作用是将已经装配的bean注入到类的属性中或者setter方法中。
- @PostConstruct和@PreDestroy
- 初始化回调和销毁回调方法
@Service public class JsrService { @Resource private JsrDao jsrDao; public void save(){ jsrDao.save(); System.out.println("JsrService.save== I am success"); } @PostConstruct public void init(){ System.out.println("JsrService.init== I am init"); } @PreDestroy public void destroy(){ System.out.println("JsrService.init== I am destroy"); } }
- Next
- 初始化回调和销毁回调方法
Spring对JRS-330的支持注解
- 使用方式:引入javax.inject包
<dependencies> <dependency> <groupId>javax.inject</groupId> <artifactId>javax.inject</artifactId> <version>1</cersion> </dependency> </dependencies>
- @Inject
- 作用:和@Autowired作用类似,自动注入。可以使用于类、属性、方法、构造器
@Service public class JsrService { @Inject private JsrDao jsrDao; }
- 作用:和@Autowired作用类似,自动注入。可以使用于类、属性、方法、构造器
- @Named
- 作用:和@Component、@Qualifier作用类似。可以使用于类、方法
@Named(value=" ") public class JsrService { @Inject private JsrDao jsrDao; }
@Named(value=" ") public class JsrService { @Inject
@Named(value=" ") private JsrDao jsrDao; } - Next
- 作用:和@Component、@Qualifier作用类似。可以使用于类、方法