zoukankan      html  css  js  c++  java
  • [十七]SpringBoot 之 使用自定义的properties

    Springboot使用application.properties默认了很多配置。但需要自己添加一些配置的时候,我们应该怎么做呢。

    如果继续在application.properties中添加

    如:

    test.t1=t1
    test.t2=t2

    定义配置类:

    package me.shijunjie.config.properties;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    @ConfigurationProperties(prefix="test")
    public class Test1Settings {
        private String t1;
        private String t2;
        public String getT1() {
            return t1;
        }
        public void setT1(String t1) {
            this.t1 = t1;
        }
        public String getT2() {
            return t2;
        }
        public void setT2(String t2) {
            this.t2 = t2;
        }
        @Override
        public String toString() {
            return "Test1Settings [t1=" + t1 + ", t2=" + t2 + "]";
        }
    }

    若用新的配置文件

    如我新建一个test.properties

    test.t1=aaaa
    test.t2=bbbb

    需定义如下配置类

    package me.shijunjie.config.properties;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    
    @ConfigurationProperties(prefix="test", locations="classpath:test.properties")
    public class Test2Settings {
        private String t1;
        private String t2;
        public String getT1() {
            return t1;
        }
        public void setT1(String t1) {
            this.t1 = t1;
        }
        public String getT2() {
            return t2;
        }
        public void setT2(String t2) {
            this.t2 = t2;
        }
        @Override
        public String toString() {
            return "Test2Settings [t1=" + t1 + ", t2=" + t2 + "]";
        }
        
    }

    最后注意在spring Boot入口类加上@EnableConfigurationProperties

    package me.shijunjie.testspringboot3;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.context.annotation.ComponentScan;
    
    import me.shijunjie.config.properties.Test1Settings;
    import me.shijunjie.config.properties.Test2Settings;
    
    @SpringBootApplication
    @EnableConfigurationProperties({Test1Settings.class, Test2Settings.class})
    @ComponentScan("me.shijunjie")
    public class App 
    {
        public static void main( String[] args )
        {
            SpringApplication.run(App.class, args);
        }
    }

    使用定义的properties(不知道为什么,我这边用了Test1Settings就不能用Test2Settings,如果想两个都用,可以将Setting作为component扫描进spring容器中)

    package me.shijunjie.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import me.shijunjie.config.properties.Test1Settings;
    import me.shijunjie.config.properties.Test2Settings;
    
    @RestController
    @RequestMapping("/test")
    public class TestController {
        @Autowired
        private Test1Settings test1Settings;
        @Autowired
        private Test2Settings test2Settings;
        
        @RequestMapping("/testProperties")
        public String testProperties() {
            System.out.println(test1Settings);
            System.out.println(test2Settings);
            return "ok";
        }
    }
  • 相关阅读:
    C语言-typedef和#define
    C语言-指针
    C语言-数据结构-结构体
    数据结构笔记
    树的存储结构
    树的基本知识
    关于矩阵
    LaTex
    札记-碎碎念
    一个大神的个人博客 博客桌面风格很棒 二次元
  • 原文地址:https://www.cnblogs.com/s648667069/p/6510009.html
Copyright © 2011-2022 走看看