spring学习 十六 spring加载属性文件
2021-05-18 03:29
标签:文件 赋值 注意 ati ram 转换 pre prope sql
第一步:创建一个properties文件,以数据库链接作为实例
db.properties
jdbc.url=jdbc:mysql://192.168.153.128:3306/mybaties?characterEncoding=utf-8
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=com.mysql.jdbc.Driver
jdbc.password=123456
第二步在spring配置文件加入context的约束,并使用
context:property-placeholder location="classpath:applicationContext.xml"/>
第三步把db.properties文件中的内容读入到 封装数据的类的属性中
bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
property name="driverClassName" value="${jdbc.driver}">property>
property name="url" value="${jdbc.url}">property>
property name="username" value="${jdbc.username}">property>
property name="password" value="${jdbc.password}">property>
bean>
此时要注意一个问题就是在配置mybatis扫描mapper文件时,需要注意,要不使用MapperScannerConfigurer类的sqlSessionFactory属性,使用sqlSessionFactoryBeanName属性,因为SqlSessionFactory因为这时不会立即初始化sqlSessionFactory,传入的只是名字,非bean, 所以不会引发提前初始化问题。但是我使用sqlSessionFactoryBeanName直接报错了,原因就是加载配置文件比较玩,SqlSessionFactory中的好多属性还没有被注入
bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
property name="basePackage" value="com.spring.mapper" >property>
property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
bean>
在被Spring管理的类中的属性,可以通过@Value(“${key}”)取出properties文件中的内容来对被spring管理的类的属性赋值
(1) 添加注解扫描
context:component-scan base-package="com.bjsxt.service.impl">context:component-scan>
(2)在类中添加 key 和变量名可以不相同,变量类型任意,只要保证 key 对应的 value 能转换成这个类型就可以.
@Value("${my.demo}") private String test;
spring学习 十六 spring加载属性文件
标签:文件 赋值 注意 ati ram 转换 pre prope sql
原文地址:https://www.cnblogs.com/cplinux/p/9745071.html
文章标题:spring学习 十六 spring加载属性文件
文章链接:http://soscw.com/index.php/essay/87007.html