• Spring Boot学习日志------连接数据库三方法之Springboot yml注入


    目录

    基础调用操作

    不同的配置文件的调用

    基础调用操作

    目录

     application.yml文件

    #数据库连接配置
    jdbc:
      url: jdbc:mysql://127.0.0.1:3306/ssm
      username: root
      password: root
      driver-class-namr: com.mysql.jdbc.Driver

    HelloController 文件

    package com.example.ycrk.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.sql.DataSource;
    
    @RestController
    public class HelloController {
        @Autowired
        private DataSource dataSource;
    
        @GetMapping("hello")
        public String hello(){
            System.out.println("dataSource="+dataSource);
            return "Hello,Spring Boot!";
        }
    }

    JdbcProperties文件

    package com.example.ycrk.config;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * ConfigurationProperties从application配置文件中读取配置
     * prefix配置项前缀
     * 配置项前缀的类变量名必须与前缀之后的配置项名称保持 松散绑定
     */
    @Component
    @ConfigurationProperties(prefix="jdbc")
    public class JdbcProperties {
        private String driverClassNamr;
        private String url;
        private String username;
        private String password;
    
        public String getDriverClassNamr() {
            return driverClassNamr;
        }
    
        public void setDriverClassNamr(String driverClassNamr) {
            this.driverClassNamr = driverClassNamr;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    }

    JdbcConfig文件

    package com.example.ycrk.config;
    
    import com.alibaba.druid.pool.DruidDataSource;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    import javax.sql.DataSource;
    
    @Configuration
    @EnableConfigurationProperties(JdbcProperties.class)
    public class JdbcConfig {
        @Bean
        public DataSource dataSource(JdbcProperties jdbcProperties){
            DruidDataSource druidDataSource=new DruidDataSource();
            druidDataSource.setDriverClassName(jdbcProperties.getDriverClassNamr());
            druidDataSource.setUrl(jdbcProperties.getUrl());
            druidDataSource.setUsername(jdbcProperties.getUsername());
            druidDataSource.setPassword(jdbcProperties.getPassword());
            return druidDataSource;
        }
    }

    操作结果

    不同的配置文件的调用

    文件格式:application-XXX.yml

    调用在application.yml文件中使用

    添加文件application-test.yml

    baidu:
      url: http://www.baidu.com

     修改application.yml,在active后面添加参数横线后面的名字

    #数据库连接配置
    jdbc:
      url: jdbc:mysql://127.0.0.1:3306/ssm
      username: root
      password: root
      driver-class-namr: com.mysql.jdbc.Driver
    
    spring:
      profiles:
        active: test

    输出,修改HelloController.java

    package com.example.ycrk.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.sql.DataSource;
    
    @RestController
    public class HelloController {
        @Autowired
        private DataSource dataSource;
    
        @Value("${baidu.url}")
        private String baidu;
    
        @GetMapping("hello")
        public String hello(){
            System.out.println("baidu="+baidu);
            System.out.println("dataSource="+dataSource);
            return "Hello,Spring Boot!";
        }
    }

    文件目录

  • 相关阅读:
    接口框架 python+unittest+request+HTMLTestRunner
    python循环语句的简单条件语句、多重条件语句和嵌套条件语句编写
    MAC下配置java+jmeter环境变量
    jmeter _Random函数生成随机数
    python-unittest模块中的各类断言
    Django密码错误报错提醒
    转载Django 500,404,400错误修改优化
    postman从body,headers,data中获取token后回写做全局变量
    postman小白教程
    git拉取代码切换分支
  • 原文地址:https://www.cnblogs.com/hahayixiao/p/13236531.html
Copyright © 2020-2023  润新知