怎么在Spring\SpringBoot中配置连接数据库?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
设置jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/SSM jdbc.username=root jdbc.password=root
创建配置类
@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; } }
设置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; // } * */ }
1. Autowired注入
2.直接在@Bean方法中使用@ConfigurationProperties(prefix = "jdbc")
3.构造函数主语
4.@Bean方法形参注入
需要注意的是配置文件中的名称要与 JdbcProperties中的属性名称要一致。项目开发过程中第二种最优雅最简洁,但是我们最常用的还是第一种,这一种更符合我们的开发习惯,书写习惯。
Debug方式启动,以上几种方式都能给 DruidDataSource赋值。
关于怎么在Spring\SpringBoot中配置连接数据库问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。