通过一个数据源注入的方式实现
主要原理是通过@PropertySource
注解引入数据源
@Value
注入
1.导入依赖
首先在pom.xml中,引入Druid连接池依赖:
<dependency>
<groupId>com.github.drtrang</groupId>
<artifactId>druid-spring-boot2-starter</artifactId>
<version>1.1.10</version>
</dependency>
2.添加jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/数据库名称
jdbc.username=root
jdbc.password=root
3.配置数据源
创建JdbcConfiguration类:
@Configuration
@PropertySource("classpath:jdbc.properties")//此处路径需要按需修改
public class JdbcConfiguration {
@Value("${jdbc.url}")
String url;
@Value("${jdbc.driverClassName}")
String driverClassName;
@Value("${jdbc.username}")
String username;
@Value("${jdbc.password}")
String password;
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setDriverClassName(driverClassName);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
}
4.解读
-
@Configuration
:声明JdbcConfiguration
是一个配置类。 -
@PropertySource
:指定属性文件的路径是:classpath:jdbc.properties
- 通过
@Value
为属性注入值。 - 通过@Bean将
dataSource()
方法声明为一个注册Bean的方法,Spring会自动调用该方法,将方法的返回值加入Spring容器中。相当于以前的bean标签
然后就可以在任意位置通过@Autowired
注入DataSource了!