• ________________初学springboot5


    获取配置文件的三种方式

    默认配置文件名application.properties application.yml

    @SpringBootApplication

    public class App {

    public static void main(String[] args) {

    ConfigurableApplicationContext context=SpringApplication.run(App.class, args);

    //方法1: 直接使用AppicationContext.getEnvironment System.out.println(context.getEnvironment().getProperty("local.ip"));

    context.getBean(UserConfig.class).show();

    context.close();

    }

    }

    @Component

    public class UserConfig {

    //方法3:注解获取 

    @Value("${local.port}")

    private String localPort;

    //方法2: 在配置类中注入Environment 使用.getProperties调用 

    @Autowired

    private Environment env;

    public  void show() {

    System.out.println("local.ip:"+env.getProperty("local.ip"));

    System.out.println("local.port:"+localPort);

    }

    }

    获取配置文件路径的三种方式 

    1、修改runconfigurations arguments 

    配置文件的默认名为application.properties

    默认位置classpath:/跟目录,或者class path:/config 或者file:/ 或者file:/config

    默认的配置文件名字可以使用--spring.config.name 来指定 扩展名可以省略】

    默认的配置文件路径可以使用spring.config.location来指定 配置文件需要指定全路径,包括目录和文件名,多个用逗号隔开

    文件的指定方式有两种:1、classpath: 2、file:

    2 、配置类注明 

    @Configuration

    @PropertySources({@PropertySource("classpath:conf/app.properties"),@PropertySource("file:/users/qiqi/desktop/abc.properties")

    })

    public class FileConfig {

    ⚠️注意不用注解依赖注入就要给bean生成getter 喝setter方法

    @Component

    @ConfigurationProperties(prefix="app")//可以给要获取的信息加前后缀,也可以给定路径 location=“”

    public class DatasourceProperties {

    private String ip;

    private String port;

    private String name;

    public  void show() {

    System.out.println("app.ip:"+ip);

    System.out.println("app.port:"+port);

    System.out.println("app.name:"+name);

    }

    public String getIp() {

    return ip;

    }

    public void setIp(String ip) {

    this.ip = ip;

    }

    public String getPort() {

    return port;

    }

    public void setPort(String port) {

    this.port = port;

    }

    public String getName() {

    return name;

    }

    public void setName(String name) {

    this.name = name;

    } 

    }

    支持数组集合

    配置方式name[index]=value

    @Component

    @ConfigurationProperties(prefix="app")

    public class TomcatProperties {

    private List<String> pp=new ArrayList<>();

    public List<String> getPp() {

    return pp;

    }

    public void setPp(List<String> pp) {

    this.pp = pp;

    }

    @Override

    public String toString() {

    return "TomcatProperties [pp=" + pp + "]";

    }

    }

    //application.properties 修改端口跟配置 

    server.port=8088

    server.servlet-path=*.html

    logging.level.org.springframework=DEBUG

  • 相关阅读:
    关于动态规划的问题494_LEETCODE_TARGET_SUM
    Python 关于二叉树生成、先序遍历、中序遍历、后序遍历、反转
    关于python引入文件路径的解决办法
    git一些笔记
    迪克斯特拉 算法(算最短距离)
    Python多线程编程中daemon属性的作用
    types.MethodType实例绑定方法
    Python之__getitem__、__getattr__、__setitem__ 、__setitem__ 的区别
    jenkins自动打包ios、安卓
    python socket编程tcp/udp俩连接
  • 原文地址:https://www.cnblogs.com/qiqisx/p/9342956.html
Copyright © 2020-2023  润新知