目录,更新ing,学习Java的点滴记录
目录放在这里太长了,附目录链接大家可以自由选择查看--------Java学习目录
Spring知识
一丶SpringIOC初步认识↓↓↓
第一篇---->初识Spring
二丶SpringIOC深入↓↓↓
第二篇---->深入SpringIoC容器(一)
第三篇---->深入SpringIoC容器(二)
三丶装配SpringBean↓↓↓
第四篇---->依赖注入的方式
第五篇---->基于xml装配Bean
第六篇---->基于注解装配Bean
第七篇---->Spring Bean之间的关系
第八篇---->SpringBean的作用域
第九篇---->Spring 加载属性(properties)文件
第十篇---->Spring表达式(SpEL)
第十一篇---->Spring在xml中配置组件扫描
四丶面向切面编程↓↓↓
第十二篇—>认识SpringAOP及底层原理
第十三篇—>使用@AspectJ注解开发AOP
第十四篇—>使用xml配置开发AOP
五丶Spring中数据库编程↓↓↓
第十五篇—>数据库编程JdbcTemplate
六丶Spring事务管理↓↓↓
第十六篇—>Spring事务管理初识
第十七篇—>编程式事务和声明式事务
第十八篇—>事务ACID特性
第十九篇—>事务传播行为
第二十篇—>事务隔离级别
9 加载属性(properties)文件
-
开发过程中,各种各样的配置文件往往就是那些属性文件,比如很常见的使用properties文件配置数据库文件,现在创建一个db.properties文件(src目录下–>new–>Resource Bundle,输入一个文件名点OK即可),内容如下:
-
灵活使用属性文件可以极大减少硬编码(就是直接将各种属性配置信息都放在代码里面),很多时候要修改运行环境只需要对配置文件进行修改就可以了,所以使用properties是十分常见场景.Spring中提供了xml和注解两种方式加载属性文件.
9.1 使用注解方式加载属性文件
- Spring提供了
@PropertySource注解
来加载属性文件,使用很简单,现在了解一下配置项
name:字符串,配置这次属性配置的名称
value:字符串数组,可以配置多个属性文件
ignoreResourceNotFound:boolean值,默认为false,含义就是如果找不到对应的属性文件是否进行忽略处理,默认值为false,所以默认情况下找不到会抛出异常
encoding:编码,默认为"" - 下面通过代码进行 演示
- @PropertySource的配置,首先会加载db.properties文件,然后配置项ignoreResouceNotFound=true表示,如果找不到文件的话就会忽略掉.main方法中通过获取SpringIOC的运行环境进而得到配置的属性,其实这并不是最好的方式,在Spring中是没有解析属性占位符的能力.
- Spring中推荐使用一个属性文件解析类进行处理,
就是PropertySourcesPlaceholderConfigurer
.使用它就可以允许Spring解析对应属性文件并且通过占位符来引用对应配置.
- 上面定义了一个PropertySourcesPlaceholderConfigurer类的Bean,它的作用是`让Spring可以解析属性占位符,下面就进行引用这些配置内容
9.2 使用xml方式加载属性文件
- Spring 提供了一个 PropertyPlaceholderConfigurer 的 BeanFactory 后置处理器, 这个处理器允许用户将 Bean 配置的部分内容外移到属性文件中. 可以在 Bean 配置文件里
使用形式为 ${var}
的变量, PropertyPlaceholderConfigurer 从属性文件里加载属性, 并使用这些属性来替换变量. - Spring 还允许在属性文件中使用 ${propName},以实现属性之间的相互引用。
- Spring2.0的使用方式
- 在Spring2.5以后,使用xml方式去加载属性文件的话需要在配置文件中使用context:property-placeholder元素加载一些配置项即可.(这里我们需要加入context的命名空间极其对应的xsd文件,具体命名空间详查—>Spring配置文件命名空间
需要加入jdbc的包,才不会报错
- 这样的可读性也很好,并且使用非常方便