spring-boot配置文件部分2------自定义配置文件和使用

方式一:通过参数形式指定配置文件

可以通过spring.config.name 修改默认的配置文件名称,不需要指定扩展名。比如:
$ java -jar myproject.jar --spring.config.name=myproject

可以通过spring.config.location指定配置文件,需要全路径与文件名,可指定多个,比如:
$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

可以通过spring.config.location指定配置文件的位置,比如:
$ java -jar myproject.jar --spring.config.additional-location=classpath:/custom-config/,file:./custom-config/

方式二:通过注解指定配置文件

Spring Boot可使用注解的方式将自定义的properties文件映射到实体bean中

1springboot读取properties配置文件

    connection.username=admin
    connection.password=kyjufskifas2jsfs
    connection.remoteAddress=192.168.1.1


2建立对应bean

    @Configuration
    @ConfigurationProperties(prefix = "connection")
    @PropertySource("classpath:/connection.properties")
    public class ConnectionSettings {

        private String username;
        private String remoteAddress;
        private String password ;

        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getRemoteAddress() {
            return remoteAddress;
        }
        public void setRemoteAddress(String remoteAddress) {
            this.remoteAddress = remoteAddress;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }

    }


我们还可以把@ConfigurationProperties还可以直接定义在@bean的注解上

    @Bean
    @ConfigurationProperties(prefix = "connection")
    public ConnectionSettings connectionSettings(){
        return new ConnectionSettings();

    }


3.具体使用 

    @Autowired 
    ConnectionSettings conn;
    
    @RequestMapping(value = {"/",""})
    public String hellTask(){
        String userName = conn.getUsername();     
        return "hello task !!";
    }


4.如果发现@ConfigurationPropertie不生效,有可能是项目的目录结构问题,可以通过@EnableConfigurationProperties(ConnectionSettings.class)来明确指定需要用哪个实体类来装载配置信息

    @Configuration
    @EnableConfigurationProperties(ConnectionSettings.class)
     public class MailConfiguration { 
        @Autowired private MailProperties mailProperties; 
           @Bean public JavaMailSender javaMailSender() {
          // omitted for readability
        }
     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良之才-小良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值