SpringBoot(二) JDBC和yml、properties

本文介绍如何在Spring Boot项目中配置并使用Druid数据源,包括导入依赖、配置属性及通过@Bean和@ConfigurationProperties注解实现自动化配置。

导入依赖

  <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.21</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

创建一个类,加上@Configuration,在类中写上返回DataSource的方法,用@Bean将其返回值交给spring容器,用@ConfigurationProperties关联到properties文件,使用配置项注入DateSource对象的属性。

  @Bean
    @ConfigurationProperties(prefix = "jdbc")
    //prefix:前缀,前缀之后的名字和对象中的属性名松散绑定
    //自带get set方法,会将配置项自动注入到对象的属性
    public DataSource getDataSource(){
        return new DruidDataSource();
    }

jdbc.properties:

jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.driver=com.mysql.jdbc.Driver
jdbc.username=root
jdbc.password=

application.yml:

jdbc:
  url: jdbc:mysql://localhost:3306/test
  driverClassName: com.mysql.jdbc.Driver
  username: root
  password:

yml文件:
1、前缀顶格冒号,后边的空两格冒号,有value值的 空一格再开始写。
2、必须是application.yml,其他名字都不行。
3、springboot允许多个yml存在,但都要是application-xxx.yml,且需要在application.yml中导入。
4、可以同时存在yml和properties,当出现同名配置项时,以properties为准。

//----------------------------------------------------------

准备三个yml文件
application:
在这里插入图片描述

application-aaa:
在这里插入图片描述

application-bbb:

在这里插入图片描述
在web层进行注入和返回字符串
在这里插入图片描述
在这里插入图片描述
使用postman发起get请求
在这里插入图片描述

### 将Spring Boot项目的Properties文件转换为YML文件 在Spring Boot项目中,配置文件可以采用`.properties`或`.yml`(也可能是.yaml)格式。这两种格式都能很好地支持应用程序的各种设置需求。对于希望从.properties切换至.yml的情况,以下是具体操作方法[^1]。 #### 配置文件命名规则 - Properties 文件通常命名为 `application.properties`. - YML 文件则应被命名为 `application.yml`. #### 转换实例展示 假设存在如下形式的一个简单的 `.properties` 文件: ```properties server.port=8081 spring.datasource.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=admin ``` 对应的 `.yml` 文件表示方式将是这样的: ```yaml server: port: 8081 spring: datasource: url: jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC username: root password: admin ``` 请注意,在 YAML 中缩进非常重要,因为它用来定义数据层次结构。上述例子展示了如何将扁平化的键值对转化为具有嵌套特性的配置项。 #### 复杂场景下的转换原则 当遇到更复杂的配置情况时——比如多级属性或是数组列表类型的参数——应当遵循以下几点来完成转换工作: - 使用冒号(`:`)后面跟一个空格作为分隔符; - 利用连字符(-)加空格的方式来表达列表成员; - 对于深层次的对象关系,则通过增加缩进来体现父子节点之间的联系。 例如,给定一段较为复杂的内容: ```properties myapp.settings.feature.enabled=true myapp.settings.paths[0]=/path/to/resourceA myapp.settings.paths[1]=/path/to/resourceB ``` 其等价的 `.yml` 表达应该是这样子的: ```yaml myapp: settings: feature: enabled: true paths: - /path/to/resourceA - /path/to/resourceB ``` 一旦完成了这些更改之后,记得调整应用启动类上的注解指向新的配置文件路径(如果有特别指定的话),并测试新版本的应用程序以确认一切正常运行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值