Spring\SpringBoot配置连接数据库的方法

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配置连接数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • idea中springboot项目连接数据库报错的原因解析

    一.我在运用mybatis下报错,反复检查无逻辑问题,下图为项目结构截图 二.最后总结问题如下: 1)报错代码: Caused by: java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader at com.zaxxer.hikari.HikariConfi

  • springboot+idea+maven 多模块项目搭建的详细过程(连接数据库进行测试)

    创建之前项目之前 记得改一下 maven  提高下载Pom速度 记得 setting 中要改 maven  改成 阿里云的.具体方法 网上查第一步 搭建parents 项目,为maven项目 ,不为springboot 项目 记得修改groupId 第二步 搭建多个子模块, honor-dao   honor-manager   honor-common记得创建 honor-manager 的时候 要把他的gruopId 改成com.honor.manager 这里爆红的原因是 因为 我做到后面

  • Spring\SpringBoot配置连接数据库的方法

    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.

  • Spring Boot配置读取实现方法解析

    Spring Boot里面所有的配置信息都放在application.properties中,如果我们想读取配置中的值要怎么做呢? 还需要自己写个读取属性文件的工具类吗?完全不要,我们可以通过各种方式来读取里面的值. 当然写工具类也是一种方式,只是太麻烦了,既然Spring Boot中有封装好的实现,为什么不用. Environment方式读取 框架中有一个org.springframework.core.env.Environment类,可以读取application.properties中配

  • Spring读取配置文件属性实现方法

    一 前言 本篇内容包括spring 运行时读取配置文件的多种方式和SpEl表达式入门基础: 二运行时读取配置文件 spring 运行时读取配置文件值提供了2种方式 属性占位符(Property placeholder). Spring表达式语言(SpEL) 2.1 读取外部配置文件 使用 @PropertySource 注解可以读取导classpath下配置文件属性:参数如下 value是个字符串数组: ignoreResourceNotFound:如果设置为true, 配置文件未找到时不会报错

  • springboot配置mysql数据库spring.datasource.url报错的解决

    目录 springboot配置mysql数据库spring.datasource.url报错 springboot下datasource连接配置 基本设置 datasource JPA jooq h2 JTA springboot配置mysql数据库spring.datasource.url报错 spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8 很常规地配置了这个mysq

  • SpringBoot配置devtools实现热部署的方法

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtools的原理 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个r

  • SpringBoot配置SwaggerUI访问404错误的解决方法

    SpringBoot 配置SwaggerUI 访问404的小坑. 在学习SpringBoot构建Restful API的时候遇到了一个小坑,配置Swagger UI的时候无法访问. 首先在自己的pom文件中加入Swagger的依赖,如下所示: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version&

  • Spring Boot 配置 IDEA和DevTools 热部署的方法

    MAVEN 配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/

  • spring boot配置MySQL数据库连接、Hikari连接池和Mybatis的简单配置方法

    此方法为极简配置,支持MySQL数据库多库连接.支持Hikari连接池.支持MyBatis(包括Dao类和xml文件位置的配置). 1.pom.xml中引入依赖: <!-- Begin of DB related --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>

  • springboot配置https访问的方法

    1.购买或本地生成ssl证书 要使用https,首先需要证书,获取证书的两种方式: 1.自己通过keytool生成 2.通过证书授权机构购买 ###### 作为演示,我们使用keytool生成: C:\Users\xxx>keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什

  • springboot 配置DRUID数据源的方法实例分析

    本文实例讲述了springboot 配置DRUID数据源的方法.分享给大家供大家参考,具体如下: druid 是阿里开源的数据库连接池. 开发时整合 druid 数据源过程. 1.修改pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> &l

随机推荐