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赋值。
到此这篇关于Spring\SpringBoot配置连接数据库的方法 的文章就介绍到这了,更多相关SpringBoot配置连接数据库内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/213962/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)