• 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
  • 相关阅读:
    鲁迅散文——随感录三十五
    跳一跳201803-1
    鲁迅散文——狗的驳诘
    鲁迅散文——立论
    小中大201903-1
    鲁迅散文——题辞
    小明上学201812-1
    买菜201809-2
    Linux常用命令-2
    LaTeX——基本介绍及字体设置
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/10133263.html
Copyright © 2020-2023  润新知