详解SpringMVC加载配置属性文件的几种方式

  

最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大,

  

网上介绍控制器参数绑定,URL映射的文章都很多了,写这篇博客主要总结一下SpringMVC加载配置属性文件的几种方式

  

<强> 1。通过背景:property-placeholde实现配置文件加载

  

1.1,为了在xml中加入上下文相关引用

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt;豆类xmlns=" http://www.springframework.org/schema/beans "   xmlns:上下文=" http://www.springframework.org/schema/context "   xsi: schemaLocation=" http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd   http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context.xsd”比;      之前      

, 1.2,引入jdbc配置文件,,,,,,,,

        & lt;上下文:property-placeholder位置="类路径:jdbc.properties”/比;之前      

1.3, jdbc.properties的配置如下

        jdbc_driverClassName=com.mysql.jdbc.Driver   jdbc_url=jdbc: mysql://localhost/testdb # 63; useUnicode=true& characterEncoding=utf8   jdbc_username=根   jdbc_password=123456      

1.4,在spring-mybatis.xml中引用jdbc中的配置

        & lt; bean id=笆菰础崩?" com.alibaba.druid.pool。DruidDataSource“init方法=癷nit”   销毁方法=肮乇铡北?   & lt;属性名=癲riverClassName”比;   & lt; value> $ {jdbc_driverClassName} & lt;/value>   & lt;/property>   & lt;属性名=" url "比;   & lt; value> $ {jdbc_url} & lt;/value>   & lt;/property>   & lt;属性名="用户名"比;   & lt; value> $ {jdbc_username} & lt;/value>   & lt;/property>   & lt;属性名="密码"比;   & lt; value> $ {jdbc_password} & lt;/value>   & lt;/property>   & lt; !——连接池最大使用连接数——比;   & lt;属性名=癿axActive”比;   & lt; value> 20 & lt;/value>   & lt;/property>   & lt; !——初始化连接大小——比;   & lt;属性名=癷nitialSize”比;   & lt; value> 1 & lt;/value>   & lt;/property>   & lt; !——获取连接最大等待时间——比;   & lt;属性名=癿axWait”比;   & lt; value> 60000 & lt;/value>   & lt;/property>   & lt; !——连接池最大空闲——比;   & lt;属性名=癿axIdle”比;   & lt; value> 20 & lt;/value>   & lt;/property>   & lt; !——连接池最小空闲——比;   & lt;属性名=癿inIdle”比;   & lt; value> 3 & lt;/value>   & lt;/property>   & lt; !——自动清除无用连接——比;   & lt;属性名=皉emoveAbandoned”比;   & lt; value> true   & lt;/property>   & lt; !——清除无用连接的等待时间——比;   & lt;属性名=皉emoveAbandonedTimeout”比;   & lt; value> 180 & lt;/value>   & lt;/property>   & lt; !——连接属性——比;   & lt;属性名=癱onnectionProperties”比;   & lt; value> clientEncoding=UTF-8   & lt;/property>   & lt;/bean>      之前      

1.5,在Java类中引用jdbc.properties中的配置

        进口org.springframework.beans.factory.annotation.Value;   进口org.springframework.context.annotation.Configuration;   @ configuration   公开课JdbcConfig {      @ value (" $ {jdbc_url} ")   公共字符串jdbcUrl;//这里变量不能定义成静态的      @ value (" $ {jdbc_username} ")   公共字符串的用户名;      @ value (" $ {jdbc_password} ")   公共字符串密码;      }      之前      

1.6,在控制器中调用

        @RequestMapping(“/服务/* *”)   @ controller   公开课JdbcController {      @ autowired   私人JdbcConfig配置;//引用统一的参数配置类      @ value (" $ {jdbc_url} ")   私人字符串jdbcUrl;//直接在控制器引用   @RequestMapping (value=https://www.yisu.com/zixun/{} "/测试”)   公共ModelMap测试(ModelMap ModelMap) {   modelMap。把(“jdbcUrl”, Config.jdbcUrl);   返回modelMap;   }   @RequestMapping (value=https://www.yisu.com/zixun/{"/test2 "})   公共ModelMap test2 (ModelMap ModelMap) {   modelMap。把(“jdbcUrl”, this.jdbcUrl);   返回modelMap;   }   }      之前      

1.7,测试

详解SpringMVC加载配置属性文件的几种方式