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

科协网站页建设的意义嘉兴优化网站价格

科协网站页建设的意义,嘉兴优化网站价格,网上开店卖货流程,网络品牌营销推广公司spring中context:property-placeholder标签的使用说明 1#xff0c;有些参数在某些阶段中是常量。 在开发阶段我们连接数据库时的url#xff0c;username#xff0c;password等信息 分布式应用中client端的server地址#xff0c;端口等这些参数在不同阶段之间又住住需要改…spring中context:property-placeholder标签的使用说明 1有些参数在某些阶段中是常量。 在开发阶段我们连接数据库时的urlusernamepassword等信息 分布式应用中client端的server地址端口等这些参数在不同阶段之间又住住需要改变 期望有一种方案可以方便我们在一个阶段内不需要频繁写一个参数的值而在不同阶段间又可以方便的切换参数的配置信息 解决spring3中提供了一种简便的方式就是元素 只需要在spring配置文件中添加一句 context:property-placeholder locationclasspath:jdbc.properties/或者bean idpropertyPlaceholderConfigurer classorg.springframework,beans.factory.config.PropertyPlaceholderConfigurerproperty namelocationslistvaluejdbc.propertiesvalue//list/property /bean即可这里的location值为参数配置文件的位置配置文件通常放到src目录下参数配置文件的格式即键值对的形式 #jdbc配置 driverClassNamecom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/test usernameroot passwordroot这样一来就可以为spring配置的bean的属性设置值了比如spring有一个数据源的类 bean iddataSource classorg.springframework,jdbc,datasource.DriverManagerDataSourceproperty namedriverClassName value${driverClassName}/property nameurl value${url}/property nameusername value${username}/property namepassword value${password}/ /bean甚至可以将 ${} 这种形式的变量用在spring提供的注解当中为注解的属性提供值下面会讲到 Spring容器采用反射扫描的发现机制在探测到Spring容器中有一个 org.springframework.beans.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描 换句话说即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer 或 content:property-placeholder其余的会被Spring忽略。 由于Spring容器只能有一个PropertyPlaceholderConfigurer如果有多个属性文件这时就看谁先谁后了先的保留 后的忽略。 还有一种情况是Spring 自动注入 properties文件中的配置要自动注入properties文件中的配置需要在Spring配置文件中添加 org.springframework.beans.factory.config.PropertiesFactoryBean和org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer的实例配置 bean idconfigProperties classorg.springframework.beans.factory.config.PropertiesFactoryBeanproperty namelocationslistvalue classpath*:application.properties/value/list/property /bean bean idpropertyConfigurer classorg.springframework.beans.factory.config.PreferencesPlaceholderConfigurerproperty nameproperties refconfigProperties / /bean在这个配置文件中我们配置了注解扫描和configProperties实例和propertyConfigurer实例这样我们就可以在java类中自动注入配置了 Component public class Test{Value(#{configProperties[userName]})private String userName;public String getUserName(){return userName;} }自动注入需要使用 Value 这个注解这个注解的格式 #{configProperties[‘userName’]}其中configProperties是我们在配置文件中配置的bean的 id userName 是在配置文件中配置的项。 同时出现两个该配置时出现错误 context:property-placeholder locationclasspath:a.properties/ context:property-placeholder locationclasspath:b.properties/同个模块中如果出现多个context:property-placeholder location properties文件后运行时出现Could not resolve placeholder ‘key’ in string value${key}。 解决办法: 原因是在加载第一个context:property-placeholder时会扫描所有的bean而有的bean里面出现第二个 context:property-placeholder引入的properties的占位符${key}spring只加载第一个配置后面的将会被忽略所以解析不了${key}。 解决办法一: 可以将通过模块的多个property-placeholder合并为一个将初始化放在一起。 解决方法二 添加ignore-unresolvable“true”这样可以在加载第一个property-placeholder时出现解析不了的占位符进行忽略掉。 context:property-placeholder ignore-unresolvabletrue locationclasspath:jdbc.properties,classpath:filePath.properties/而且这样会导致后面那个b.properties配置文件失效 原因Spring 只会加载第一个context:property-placeholder配置后面的文件将不会再次进行加载所以导致后面的文件读取不到 context:property-placeholder标签属性详解 context:property-placeholder location属性文件多个之间逗号分隔 file-encoding文件编码 ignore-resource-not-found是否忽略找不到的属性文件 ignore-unresolvable是否忽略解析不到的属性如果不忽略找不到将抛出异常 properties-ref本地Properties配置 local-override是否本地覆盖模式即如果true那么properties-ref的属性将覆盖location加载的属性否则相反 system-properties-mode系统属性模式默认ENVIRONMENT表示先找ENVIRONMENT再找properties-ref/location的NEVER表示永远不用ENVIRONMENT的OVERRIDE类似于ENVIRONMENT order顺序 /location表示属性文件位置多个之间通过如 逗号(,)/分号(;)等分隔 file-encoding文件编码 ignore-resource-not-found如果属性文件找不到是否忽略默认false即不忽略找不到将抛出异常 ignore-unresolvable是否忽略解析不到的属性如果不忽略找不到将抛出异常 properties-ref本地java.util.Properties配置 local-override是否本地覆盖模式即如果true那么properties-ref的属性将覆盖location加载的属性 system-properties-mode系统属性模式ENVIRONMENT默认OVERRIDENEVER ENVIRONMENT将使用Spring 3.1提供的PropertySourcesPlaceholderConfigurer其他情况使用Spring 3.1之前的PropertyPlaceholderConfigurer如果是本地覆盖模式那么查找顺序是properties-ref、location、environment否则正好反过来OVERRIDE PropertyPlaceholderConfigurer使用因为在spring 3.1之前版本是没有Enviroment的所以OVERRIDE是spring 3.1之前版本的Environment如果是本地覆盖模式那么查找顺序是properties-ref、location、System.getProperty(),System.getenv()否则正好反过来NEVER只查找properties-ref、location order当配置多个context:property-placeholder/查找顺序
http://www.zqtcl.cn/news/984441/

相关文章:

  • 建筑设计网站软件排名工具
  • wordpress theme珠宝最适合seo的网站源码
  • 建设工程规划许可证查询网站畜牧业网站模板
  • 做网站大概要多少钱页面网站缓存如何做
  • 家电网站建设需求分析朔州网络推广
  • 陕西交通建设集团网站体检网络营销中自建网站
  • 做游戏的php网站有哪些微信商城是什么
  • wordpress memcached redux深圳网站优化方法
  • 移动商城 网站建设方法方式韩国导航地图app
  • 企业网站源码是什么瑞安企业做网站
  • 佛山深圳建网站wordpress 段代码
  • 网站备案 强制仿牌网站容易被攻击吗
  • 网站做访问追踪js特效演示网站
  • 建设网站女装名字大全宝宝投票网站怎么做
  • 江苏省建设厅网站首页天津百度网站排名优化
  • 织梦网络设计工作室网站模板镇江市精神文明建设网站
  • 网站管理工具装修公司设计软件有哪些
  • 招标网站的服务费怎么做分录什么网站做玩具的比较多
  • 青海省住房建设厅网站WordPress主题启用出现错误
  • 自己怎么建网站网站的seo 如何优化
  • 博客网站模板下载如何自学美工
  • 哪个免费建站好专业seo要多少钱
  • 做3d建模贴图找哪个网站珠海建设网站公司简介
  • 网站开发过程前端后端qq刷赞网站咋做
  • 湘潭高新区建设局网站旅游做攻略的网站有哪些
  • wordpress网站云备份网站模块插件是怎么做的
  • 郑州市城乡建设规划网站深圳十佳设计公司排名
  • 上海建设项目环保验收公示网站两新支部网站建设
  • 网站开发移动端网络系统软件应用与维护
  • 浙江网站建设营销网站后台管理系统一般用户名是什么