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
  • @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;
      }
  • @Named
    • 作用:和@Component、@Qualifier作用类似。可以使用于类、方法
      @Named(value="  ")
      public class JsrService {
          @Inject
          private JsrDao jsrDao;
      
      }
      @Named(value="  ")
      public class JsrService {
      
          @Inject
      @Named(value=" ")
      private JsrDao jsrDao; }
    • Next
posted @   话·醉月  阅读(1023)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示