• 人民网评:涉及群众利益的事,必须“马上就办” 2019-04-25
  • 胡世忠在泰和调研经济运行和项目建设 2019-04-25
  • “基因魔剪”安全性再遭质疑 2019-04-23
  • 女孩面试“女二号”,车内试戏被脱裤子 2019-04-22
  • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-04-18
  • 李白是哪一种书法家? 2019-04-10
  • 重庆夜色让人如此沉醉文章中国国家地理网 2019-04-04
  • 男子高速酒驾飞出立交桥 车身粉碎人无碍 2019-03-30
  • 成都康弘药业集团股份有限公司董事长柯尊洪获第十二届人民企业社会责任奖年度人物奖 2019-03-30
  • 驻最高检纪检组健全廉政档案 力求精准"画像" 2019-03-27
  • 游客被指捡石子砸老虎 北京野生动物园:正在核实 2019-03-27
  • 10月26日十九大新闻发言人专题新闻发布会 2019-03-22
  • 多交140分“亚裔税”?哈佛大学被控歧视亚裔学生 2019-03-22
  • 男子农田挖到古董抠出吓得魂飞魄散 2019-03-17
  • 瑞典南部城市发生枪击案致5人伤 警方:与恐袭无关 2019-03-10
  • 今天看啥
      热点:

        北京赛车pk10历史记录 www.zwahn.com

        Spring @Value注解 and Spring Boot @ConfigurationProperties注解,


         

        一、Spring的@Value

        Spring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语言。

        在Spring开发中经常涉及调用各种资源的情况,包含普通文件、网址、配置文件、系统环境变量等,我们可以使用Spring的表达式语言实现资源的注入。

         

        Spring主要在注解@Value的参数中使用表达式。

        • 注入普通字符串
        • 注入操作系统属性
        • 注入表达式运算结果
        • 注入其他Bean的属性
        • 注入文件内容
        • 注入网址内容
        • 注入属性文件(注意:用的是$符号)

         

        import org.springframework.core.io.Resource;
        import org.springframework.core.env.Environment;
        import org.apache.commons.io.IOUtils;
        
        @Component
        public class ELConfig {  
            @Value("注入普通字符串")// 注入普通字符串  
            private String normal;  
              
            @Value("#{systemProperties['os.name']}")// 注入操作系统属性  
            private String osName;  
              
            @Value("#{T(java.lang.Math).random() * 100.0 }")// 注入表达式结果  
            private double randomNumber;   
         
            @Value("#{payOrderQueryController.payCenterFacade}")// 注入其他Bean属性
            private IPayCenterFacade fromAnother;
              
            @Value("classpath:test.txt")// 注入文件资源  
            private Resource testFile;  
              
            @Value("https://www.baidu.com")// 注入网址资源  
            private Resource testUrl;  
          
            @Value("${book.name}")// 注入配置文件【注意是$符号】  
            private String bookName;  
              
            @Autowired// Properties可以从Environment获得  
            private Environment environment;  
          
            @Override  
            public String toString() {  
                try {  
                    return "ELConfig [normal=" + normal   
                            + ", osName=" + osName   //os.name,如Windows 8.1
                            + ", randomNumber=" + randomNumber   //值如97.53293482705482
                            + ", fromAnother=" + fromAnother   //别的bean的成员属性
                            + ", testFile=" + IOUtils.toString(testFile.getInputStream())   //输出文件里的内容
                            + ", testUrl=" + IOUtils.toString(testUrl.getInputStream())   //输出网页的html
                            + ", bookName=" + bookName  //配置的值
                            + ", environment=" + environment.getProperty("book.name") + "]";  
                } catch (IOException e) {  
                    e.printStackTrace();  
                    return null;  
                }  
            }  
              
        }  

         

         

        二、Spring Boot的@ConfigurationProperties

        先看下面的@Value注解:

            @Value("${book.name}")
            private String bookName;
            @Value("${book.author}")
            private String bookAuthor;

         上面这种使用@Value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通?;崾切矶喔?,就要使用@Value注入很多次。

        Spring Boot提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean关联,从而实现类型安全的配置。

        @Component
        @ConfigurationProperties(prefix = "book")
        public class Book {
        
            private String name;
            private String author;
            private int age;
            
            //get.. set..
        }

         

        @ConfigurationProperties有两个属性

        • prefix:指定properties的配置的前缀
        • locations:指定properties文件的位置

         

        北京赛车pk10历史记录 www.zwahn.comtrue//www.zwahn.com/Javabc/1316466.htmlTechArticleSpring @Value注解 and Spring Boot @ConfigurationProperties注解, 一、Spring的@Value Spring EL表达式语言,支持在XML和注解中表达式,类是于JSP的EL表达式语...

        相关文章

          暂无相关文章
        相关搜索:

        帮客评论

        视觉看点
      • 人民网评:涉及群众利益的事,必须“马上就办” 2019-04-25
      • 胡世忠在泰和调研经济运行和项目建设 2019-04-25
      • “基因魔剪”安全性再遭质疑 2019-04-23
      • 女孩面试“女二号”,车内试戏被脱裤子 2019-04-22
      • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-04-18
      • 李白是哪一种书法家? 2019-04-10
      • 重庆夜色让人如此沉醉文章中国国家地理网 2019-04-04
      • 男子高速酒驾飞出立交桥 车身粉碎人无碍 2019-03-30
      • 成都康弘药业集团股份有限公司董事长柯尊洪获第十二届人民企业社会责任奖年度人物奖 2019-03-30
      • 驻最高检纪检组健全廉政档案 力求精准"画像" 2019-03-27
      • 游客被指捡石子砸老虎 北京野生动物园:正在核实 2019-03-27
      • 10月26日十九大新闻发言人专题新闻发布会 2019-03-22
      • 多交140分“亚裔税”?哈佛大学被控歧视亚裔学生 2019-03-22
      • 男子农田挖到古董抠出吓得魂飞魄散 2019-03-17
      • 瑞典南部城市发生枪击案致5人伤 警方:与恐袭无关 2019-03-10