springboot读取配置文件的几种方式

方式一:

  1. 步骤一

在resources里面定义properties

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=admin
复制代码
  1. 书写一个JdbcProperties的类,并配置ConfigurationProperties注解,使用lombok配置Data注解,编译时自动生成getter,setter
package com.jserm.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix = "jdbc")
@Data
public class JdbcProperties {
    String driverClassName;
    String url;
    String username;
    String password;
}
复制代码
  1. 书写一个JdbcConfig类,并将配置属性注入到DataSource,必须配置@EnableConfigurationProperties(JdbcProperties.class)注解
package com.jserm.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfig {
    @Bean
    public DataSource dataSource(JdbcProperties properties) {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(properties.getDriverClassName());
        dataSource.setUrl(properties.getUrl());
        dataSource.setUsername(properties.getUsername());
        dataSource.setPassword(properties.getPassword());
        return dataSource;
    }
}
复制代码

方式二

  1. 步骤一

在resources里面定义properties

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=admin
复制代码
  1. 书写一个JdbcConfig类,将ConfigurationProperties注解直接写在dataSource的方法上,而不是写在另一个类文件JdbcProperties的类配置上,并省去了getter和setter
package com.jserm.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
public class JdbcConfig {
    @Bean
    @ConfigurationProperties(prefix = "jdbc")
    public DataSource dataSource() {
        return new DruidDataSource();
    }
}
复制代码

方式三

  1. 编写一个.yml文件,而不是.properties文件,方式的话和上面两种一种,只是文件后缀时yml而已,便于书写阅读
jdbc:
  driverClassName: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/ssm
  username: root
  password: admin
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享