当前位置: 首页 > news >正文

北京建设职工大学网站个人单页网站

北京建设职工大学网站,个人单页网站,网站建设需要确定的问题,株洲市住房和城乡建设局网站Spring中的Value注解详解 概述 本文配置文件为yml文件 在使用spring框架的项目中#xff0c;Value是经常使用的注解之一。其功能是将与配置文件中的键对应的值分配给其带注解的属性。在日常使用中#xff0c;我们常用的功能相对简单。本文使您系统地了解Value的用法。 Value…Spring中的Value注解详解 概述 本文配置文件为yml文件 在使用spring框架的项目中Value是经常使用的注解之一。其功能是将与配置文件中的键对应的值分配给其带注解的属性。在日常使用中我们常用的功能相对简单。本文使您系统地了解Value的用法。 Value 注解可以用来将外部的值动态注入到 Bean 中在 Value 注解中可以使${} 与 #{} 它们的区别如下 1Value(“${}”)可以获取对应属性文件中定义的属性值。 2Value(“#{}”)表示 SpEl 表达式通常用来获取 bean 的属性或者调用 bean 的某个方法。 使用方式 根据注入的内容来源 Value属性注入功能可以分为两种通过配置文件进行属性注入和通过非配置文件进行属性注入。 非配置文件注入的类型如下 注入普通字符串注入操作系统属性注入表达式结果注入其他bean属性注入URL资源 基于配置文件的注入 首先让我们看一下配置文件中的数据注入无论它是默认加载的application.yml还是自定义my.yml文档需要PropertySource额外加载。 application.yml文件配置获得里面配置的端口号 程序源代码 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {/***Get in application.yml*/Value(${server.port})private String port;Testpublic void getPort(){System.out.println(port);} }程序结果 自定义yml文件application-config.yml文件配置获得里面配置的用户密码值 注意如果想导入自定义的yml配置文件应该首先把自定义文件在application.yml文件中进行注册自定义的yml文件要以application开头形式为application-fileName 配置信息 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {/***Get in application-config.yml*/Value(${user.password})private String password;Testpublic void getPassword(){System.out.println(password);} }程序结果 基于配置文件一次注入多个值 配置信息 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;import java.util.List;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {/***Injection array (automatically split according to ,)*/Value(${tools})private String[] toolArray;/***Injection list form (automatic segmentation based on , and)*/Value(${tools})private ListString toolList;Testpublic void getTools(){System.out.println(toolArray);System.out.println(toolList);} }程序结果 基于非配置文件的注入 在使用示例说明基于非配置文件注入属性的实例之前让我们看一下SpEl。 Spring Expression Language是Spring表达式语言可以在运行时查询和操作数据。使用{…}作为操作符号大括号中的所有字符均视为SpEl。 让我们看一下特定实例场景的应用 注入普通字符串 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;import java.util.List;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {// 直接将字符串赋值给 str 属性Value(hello world)private String str;Testpublic void getValue(){System.out.println(str);} }程序结果 注入操作系统属性 可以利用 Value 注入操作系统属性。 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {Value(#{systemProperties[os.name]})private String osName; // 结果Windows 10Testpublic void getValue(){System.out.println(osName);} }程序结果 注入表达式结果 在 Value 中允许我们使用表达式然后自动计算表达式的结果。将结果复制给指定的变量。如下 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {// 生成一个随机数Value(#{ T(java.lang.Math).random() * 1000.0 })private double randomNumber;Testpublic void getValue(){System.out.println(randomNumber);} }程序结果 注入其他bean属性 其他Bean package cn.wideth.controller;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;//其他bean自定义名称为 myBeans Component(myBeans) public class OtherBean {Value(OtherBean的NAME属性)private String name;public String getName() {return name;}public void setName(String name) {this.name name;} }测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {Value(#{myBeans.name})private String fromAnotherBean;Testpublic void getValue(){System.out.println(fromAnotherBean);} }程序结果 注入URL资源 测试程序 package cn.wideth.controller;import cn.wideth.PdaAndIpadApplication; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; import java.net.URL;RunWith(SpringRunner.class) SpringBootTest() ContextConfiguration(classes PdaAndIpadApplication.class) public class ValueController {/***注入 URL 资源*/Value(https://www.baidu.com/)private URL homePage;Testpublic void getValue(){System.out.println(homePage);} } 程序结果
http://www.hkea.cn/news/14466796/

相关文章:

  • 奢侈品的网站设计广州网站开发公司排名
  • 东莞三合一网站制作网站制作 杭州
  • 做php网站教程软件工程师简历
  • 济南高新区 网站建设公司wordpress怎么取消谷歌字体
  • 曲阜网站建设价格移动互联网开发工程师证书
  • 做团膳有哪些网站公司名称吉凶查询大吉
  • 网站建设优化哪家专业wap登录是什么意思
  • 站长平台网站乐平网站建设
  • 网站建设平台报价营销策划方案怎么写
  • php如何搭建网站后台wordpress简约商城
  • 做网站的图片字虚做网站用什么环境
  • 成都著名网站建设公司青岛做网站的公司哪家好一点
  • 网站代理怎么设置公司网站是怎么制作和维护的
  • 蓬莱网站建设公司报价通辽企业网站建设
  • 网站开发专业介绍完成网站的建设工作总结
  • 河南省漯河建设局网站网站快速建设程序
  • 济南个人网站建设小程序商城
  • 网站建设物理架构深圳企业宣传片
  • 没有网站的域名网站联盟营销
  • 上海网站制作服务卖水果网站模板
  • 陈村大良网站建设国外做行程的网站
  • 网站域名icp备案东莞市保安公司
  • 虚拟机如何做网站大连line公司
  • 试玩网站开发商丘 峰少 seo博客
  • 公司做企业网站网站备案名称的影响
  • 网站板块建设的重要性建好了网站怎么做外贸
  • 进下加强新闻宣传网站建设国家知识产权专利网官网
  • 南宁会制作网站的技术人员网站编辑年终总结
  • 百度网站收录查询公司注册的流程与步骤
  • 潍坊站总站人工服务电话平面设计培训价格