使用配置
jdbc.properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://mysql:3306/xxx
jdbc.username=用户
jdbc.password=密码
xml 注入
<!-- 加载配置文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
<!-- 装配连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 注入相关的连接属性 -->
<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>
@Value + @PropertySource 注入
多个properties(配置文件)时:@PropertySource({"配置文件","配置文件"})
@Configuration
@PropertySource("jdbc.properties")
@MapperScan(basePackages = "org.example.dao")
public class AppConfig {
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean
public DruidDataSource getDruidDataSource() throws Exception {
DruidDataSource source = new DruidDataSource();
source.setUrl(url);
source.setUsername(username);
source.setPassword(password);
return source;
}
}
@Value + Bean 注入
创建一个用于读取配置文件的Bean
<!-- spring加载配置文件 -->
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
<value>classpath:多个.properties</value>
</list>
</property>
</bean>
@Value("#{configProperties.url}")
private String url;
@Value("#{configProperties['jdbc.username']}")
private String username;