Spring读取数据连接属性文件properties(单个和多个)

本文介绍如何在 Spring 应用中配置属性文件,包括单个和多个属性文件的设置方法。通过示例展示了如何在 Java 和 Ant 构建环境中使用属性文件,并提供了具体的 XML 配置代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单个:

1。设置你的属性文件
# DB Info
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:db/myapp
jdbc.user=sa
jdbc.password=
jdbc.maxConnections=25
2。安装 和使用这些属性文件

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:project.properties</value>
</property>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${jdbc.driver}</value></property>
<property name="url"><value>${jdbc.url}</value></property>
<property name="username"><value>${jdbc.user}</value></property>
<property name="password"><value>${jdbc.password}</value></property>
</bean>

3。在Ant中使用这些属性
<property file="project.properties"/>

...

<target name="browse">
<java classname="org.hsqldb.util.DatabaseManager" fork="yes" failonerror="true">
<classpath refid="classpath"/>
<arg value="-url"/>
<arg value="${jdbc.url}"/>
</java>


</target>
如果你不用Ant的话第三步就不用啦。。。。

多个:

在spring配置文件中配置如下,用于读取WEB-INF中的mail.properties 和 jdbc.properties两个属性文件。用于提高程序的可读性。

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/mail.properties</value>
<value>WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>

需要引用时,通过如下方式:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}"/>
<property name="host" value="${mail.username}"/>
<property name="host" value="${mail.password}"/>
<property name="host" value="${mail.prot}"/>
</bean>

mail.properties配置如下:
mail.host=pop3.126.com
mail.username=kk@126.com
mail.password=123456
mail.port=25

jdbc.proerties配置如下:
slave.username=sa
slave.passowrd=123456


</target>

Spring Boot框架中,读取配置文件(通常是`application.properties`或`application.yml`)中的属性值可以借助一些特定的注解来完成。以下是几种常用的方式及其对应的注解: ### 1. 使用 `@Value` 这是最直接的一种方式,用于将单个配置项注入到字段中。 ```java @Value("${property.key}") private String propertyKey; ``` 例如,在`application.properties`中有如下配置: ```properties app.name=MyApp app.version=1.0.0 ``` 那么可以在代码里通过下面的方式来获取它们的值: ```java @Value("${app.name}") private String appName; @Value("${app.version}") private String appVersion; ``` --- ### 2. 使用 `@ConfigurationProperties` 当需要一次性绑定一组相关的属性时,推荐使用这种方式。它更适合管理复杂的、分组式的配置数据。 首先创建一个POJO类,并标注上`@ConfigurationProperties(prefix="prefix")``@Component`(让其被Spring容器扫描)。比如: ```java @Component @ConfigurationProperties(prefix = "app") public class AppConfig { private String name; private String version; // 需要有getter/setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } } ``` 此时无需再单独标记每个成员变量为`@Value`形式了。 注意点:为了保证安全性以及避免意外的数据覆盖情况发生,建议开启校验功能: ```yaml spring: config: activate: on-profile: dev # 指定激活环境(dev/test/prod等) ``` 同时还可以结合`@Validated`来进行参数验证操作。 --- ### 3. 其他补充说明 除了上述两种主流做法之外,还有一些场景化的特殊处理手段可供参考学习,如动态刷新配置(`@RefreshScope`)配合云原生架构下的服务发现机制;又或者是利用Environment接口手动查找键值对等等……
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值