大家好,又见面了,我是你们的朋友全栈君。
在项目中,会存放一些不经常变动的信息,比如数据库的配置,如果我们直接写在代码里,当项目发布以后,想要修改数据库的连接信息,就需要修改代码,重新发布,这样做显然是不明智的选择。我们就可以把这些信息写到一个配置文件中,即使项目发布了,需要修改数据库的配置信息,也不需要复杂的操作,只需要修改配置文件即可。
通过spring读取properties配置文件,我觉得可以分为三步,第一步是在项目中添加一个.properties配置文件,第二步在spring中加载定义的配置文件,第三步就是在xml文件或java文件中读取值。
最开始我们的数据库配置信息是这样的
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shop" />
<property name="user" value="root" />
<property name="password" value="root" />
</bean>
当我们定义了配置文件后,就可以把上面的信息抽取出来:
dataSource=com.mchange.v2.c3p0.ComboPooledDataSource
driverClass=com.mysql.jdbc.Driver
jdbcUrl=jdbc\:mysql\://localhost\:3306/shop
user=root
password=root
接下来就是加载配置文件,加载配置文件有两种方式:
<context:property-placeholder location="classpath:conn.properties"/>
上面我们是通过<context:property-placeholder location=””/>标签来加载配置文件的,但是如果我们需要加载多个配置文件时,就需要添加通配符。
我们还可以同过另外一种方式加载:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<!-- PropertyPlaceholderConfigurer类中有个locations属性,接收的是一个数组,即我们可以在下面配好多个properties文件 -->
<array>
<value>classpath:conn.properties</value>
</array>
<array>
<value>classpath:sys.properties</value>
</array>
</property>
</bean>
最后我们就可以读取配置文件的值了。
在xml文件中,通过${}读取:
<bean id="dataSource" class="${dataSource}">
<property name="driverClass" value="${driverClass}" />
<property name="jdbcUrl" value="${jdbcUrl}" />
<property name="user" value="${user}" />
<property name="password" value="${password}" />
</bean>
通过注解在java类中通过@Value注解读取:
@Value("#{name}")
private String dbname;
@Value("#{passward}")
private String dbpassward;
关于这块的内容也是刚刚学习,希望大家多多指教。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105639.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...