Spring5深入浅出篇:Spring配置⽂件参数化
把Spring配置⽂件中需要经常修改的字符串信息,转移到⼀个更⼩的配置⽂件中
- Spring的配置⽂件中存在需要经常修改的字符串?
存在 以数据库连接相关的参数 代表
- 经常变化字符串,在Spring的配置⽂件中,直接修改
不利于项⽬维护(修改)
- 转移到⼀个⼩的配置⽂件(.properties)
利于维护(修改)
配置⽂件参数化:利于Spring配置⽂件的维护(修改)
配置⽂件参数的开发步骤
- 提供⼀个⼩的配置⽂件(db.properities)
jdbc.driverClassName = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/suns?useSSL=false jdbc.username = root jdbc.password = 123456
- Spring的配置⽂件与⼩配置⽂件进⾏整合
applicationContext.xml
<context:property-placeholder location="classpath:/db.properties"/>
上面的路径表示在最终编译后的class文件中可以通过/db.properties的路径找到这个文件
- 在Spring配置⽂件中通过${key}获取⼩配置⽂件中对应的值
<!--Spring配置文件与小配置文件的整合--> <context:property-placeholder location="classpath:/db.properties"/> <bean id="conn" class="com.baizhiedu.factorybean.ConnectionFactoryBean"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>
最终测试
/** * 用于测试:配置文件参数化 */ @Test public void test17() { ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext1.xml"); Connection conn = (Connection) ctx.getBean("conn"); System.out.println("conn = " + conn); }
发现conn是有内存地址,说明配置文件参数化整合成功!