总结 Spring 获取配置文件属性的三种方法

方法一:

通过 Environment env获取配置属性:

import org.springframework.core.env.Environment;

@Configuration
public class MyBatisConfig
{
    
    
    @Autowired
    private Environment env;
    @Bean
    public void sqlSessionFactory(DataSource dataSource) throws Exception
    {
    
    
        String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage");
        String mapperLocations = env.getProperty("mybatis-plus.mapperLocations");
    }   
}

此处配置文件(yml 配置,配置文件如下):

mybatis-plus:
  # 搜索指定包别名
  typeAliasesPackage: com.ruoyi.project.**.domain
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
  mapperLocations: classpath*:mybatis/**/*Mapper.xml

方法二:

绑定实体类,获取一组配置:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import lombok.Getter;
import lombok.Setter;
/**
 * 读取项目相关配置
 */
@Component
@Getter
@Setter
@ConfigurationProperties(prefix = "peng")
public class RuoYiConfig
{
    
    
    /** 项目名称 */
    private String name;
    /** 版本 */
    private String version;
    /** 版权年份 */
    private String copyrightYear;
    /** 实例演示开关 */
    private boolean demoEnabled;
    /** 上传路径 */
    private static String profile;
    /** 获取地址开关 */
    private static boolean addressEnabled;   
}

此处配置文件(yml 配置,配置文件如下):

peng:
  # 名称
  name: RuoYi
  # 版本
  version: 2.0.0
  # 版权年份
  copyrightYear: 2019
  # 实例演示开关
  demoEnabled: true
  # 文件路径 示例
  profile: /home/huawei/zdh/
  # 获取ip地址开关
  addressEnabled: true

方法三:

通过 @Value标签绑定数据

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource;

/**
 * druid 配置属性
 */
@Configuration
public class DruidProperties
{
    
    
    @Value("${spring.datasource.druid.initialSize}")
    private int initialSize;

    @Value("${spring.datasource.druid.minIdle}")
    private int minIdle;

    @Value("${spring.datasource.druid.maxActive}")
    private int maxActive;

}

此处配置文件(yml 配置,配置文件如下):

spring:
  datasource:
    druid:
      # 初始连接数
      initialSize: 5
      # 最小连接池数量
      minIdle: 10
      # 最大连接池数量
      maxActive: 20

猜你喜欢

转载自blog.csdn.net/pengain/article/details/113641561