Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式)
【摘要】
Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式)
Spring配置连接数据库
设置jdbc.properties
创建配置类
SpringBoot配置连接数据库
设置application.properties
创建配置类-JdbcProperties
创建配置类-J...
Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式)
Debug方式启动,以上几种方式都能给 DruidDataSource赋值。
Spring配置连接数据库
设置jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/SSM
jdbc.username=root
jdbc.password=root
创建配置类
/**
* @Author: Promsing
* @Date: 2021/5/30 - 14:52
* @Description:连接数据库的配置类
* @version: 1.0
*/
@Configuration//声明该类是一个java配置类,相当于一个xml配置文件
@PropertySource("classpath:jdbc.properties") //读取资源文件
public class JdbcConfiguration {
@Value("${jdbc.driverClassName}")
private String driverClassName;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
@Bean //将返回值注入到IOC容器中
public DataSource dataSource(){
DruidDataSource dataSource=new DruidDataSource();
//设置连接数据库的四大参数
dataSource.setDriverClassName(this.driverClassName);
dataSource.setUrl(this.url);
dataSource.setUsername(this.username);
dataSource.setPassword(this.password);
return dataSource;
}
}
SpringBoot配置连接数据库
设置application.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/SSM
jdbc.username=root
jdbc.password=root
创建配置类-JdbcProperties
/**
* @Author: Promsing
* @Date: 2021/5/30 - 15:41
* @Description: 封装了读取出来的配置文件
* @version: 1.0
*/
@ConfigurationProperties(prefix = "jdbc")
public class JdbcProperties {
private String driverClassName;
private String url;
private String username;
private String password;
public void setDriverClassName(String driverClassName) {
this.driverClassName = driverClassName;
}
public void setUrl(String url) {
this.url = url;
}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
public String getDriverClassName() {
return driverClassName;
}
public String getUrl() {
return url;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
创建配置类-JdbcConfiguration
/**
* @Author: Promsing
* @Date: 2021/5/30 - 14:52
* @Description: 连接数据库的Java配置类
* @version: 1.0
*/
@Configuration//声明该类是一个java配置类,相当于一个西xml配置文件
@EnableConfigurationProperties(JdbcProperties.class) //加载JDBC的配置类
public class JdbcConfiguration {
@Autowired
private JdbcProperties jdbcProperties;
//方式一
@Bean //将返回值注入到IOC容器中
public DataSource dataSource(){
DruidDataSource dataSource=new DruidDataSource();
//设置连接数据库的四大参数
dataSource.setDriverClassName(this.jdbcProperties.getDriverClassName());
dataSource.setUrl(this.jdbcProperties.getUrl());
dataSource.setUsername(this.jdbcProperties.getUsername());
dataSource.setPassword(this.jdbcProperties.getPassword());
return dataSource;
}
/*
//方式二:最优雅最简单--直接换掉方式一
@Bean //将返回值注入到IOC容器中
@ConfigurationProperties(prefix = "jdbc")
public DataSource dataSource(){
DruidDataSource dataSource=new DruidDataSource();
return dataSource;
}
* */
/*
//方式三通过构造函数注入--在方式一上的方式修改
public JdbcConfiguration(JdbcProperties jdbcProperties) {
this.jdbcProperties = jdbcProperties;
}
* */
/*
//方式四通过方法的参数注入--直接换掉方式一
public DataSource dataSource(dbcProperties jdbcProperties){
DruidDataSource dataSource=new DruidDataSource();
//设置连接数据库的四大参数
dataSource.setDriverClassName(jdbcProperties.getDriverClassName());
dataSource.setUrl(jdbcProperties.getUrl());
dataSource.setUsername(jdbcProperties.getUsername());
dataSource.setPassword(jdbcProperties.getPassword());
return dataSource;
// }
* */
}
SpringBoot的四种属性注入方式
1. Autowired注入
2.直接在@Bean方法中使用@ConfigurationProperties(prefix = "jdbc")
3.构造函数主语
4.@Bean方法形参注入
需要注意的是配置文件中的名称要与 JdbcProperties中的属性名称要一致。项目开发过程中第二种最优雅最简洁,但是我们最常用的还是第一种,这一种更符合我们的开发习惯,书写习惯。
Debug方式启动,以上几种方式都能给 DruidDataSource赋值。
如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。
文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/promsing/article/details/117399403
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)