学前要求: 已学完本系列前六个
相信能坚持看到这里的已经掌握了spring的基础技巧了,又离月薪过万近了一步了呢~
开篇咱们先介绍一种在Spring中常见到的一种文件-----Properties
Properties
Properties文件是用于存储应用程序配置和其他静态信息的
1.先新创的一个命名空间
原因:在Spring中,可以使用PropertyPlaceholderConfigurer来加载Properties文件并将其注入到bean定义中。虽然这是一种按需配置属性的有效方式,但是如果您需要在多个bean或多个上下文中共享相同的属性集,则必须手动在每个位于类路径之外的上下文(例如Web应用程序上下文)中定义PropertyPlaceholderConfigurer。
为了更方便地重复使用此配置,Spring提供了从XML名称空间继承的功能。 XML命名空间使您可以在编写Spring应用程序上下文时使用优美的语法轻松地引用模块化、可插拔的组件。
2.在main的resources下新建文件
其中内容(例)
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql:///3333/mybatis
jdbc.username = root
jdbc.password = 123456
配置文件中
<context:property-placeholder location="jdbc.properties"/>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<!-- 其实可以发现和学习Java Web的时候写sql语句时是不是一样 -->
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password"/> <!-- 很明显,这个密码很大众 -->
</bean>
虽然此时我们已经将信息弄好了,但是肉眼看不出,不妨我们再写一个案例,再从中选出一个输出看看
新建TestDemo16
public class TestDemo16 {
private String name;
public void setName(String name) { // 如前面一系例所说,这个是需要的函数
this.name = name;
}
public void say() {
System.out.println("name:"+name);
}
}
配置文件中加上一小行
<bean id="testDemo16" class="com.javala.dao1.TestDemo16">
<property name="name" value="${jdbc.driver}"/>
</bean>
最后案例类
public class App12 {
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestDemo16 testDemo16 = (TestDemo16) ctx.getBean("testDemo16");
testDemo16.say();
}
} // 表示能正常运行输出
看似十分简单,但是仔细一想,坑在哪?且往下看
1.与系统重复
当在properties中变量名与系统中已存在的变量名重复时,会优先采用系统的
- 解决办法:如下如(代表不在使用系统的)
2.多个properties文件
还可以采用如: classpath*😗.properties(看下面图片)
总结
那么学到这我们就已经掌握了properties文件的使用
我是哈利巴多先生,如果觉得不错,还望多多鼓励(文章不定时更新)