Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式)

举报
小小张自由--张有博 发表于 2021/11/22 23:53:42 2021/11/22
6k+ 0 0
【摘要】   Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式) Spring配置连接数据库 设置jdbc.properties 创建配置类 SpringBoot配置连接数据库 设置application.properties 创建配置类-JdbcProperties 创建配置类-J...
 

Spring配置连接数据库与SpringBoot配置连接数据库(四种属性注入方式)

Spring配置连接数据库

设置jdbc.properties

创建配置类

SpringBoot配置连接数据库

设置application.properties

创建配置类-JdbcProperties

创建配置类-JdbcConfiguration

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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。