zoukankan      html  css  js  c++  java
  • ________________初学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

  • 相关阅读:
    BZOJ3631: [JLOI2014]松鼠的新家
    网络流24题题目总会+题解
    BZOJ3930: [CQOI2015]选数
    BZOJ4816: [Sdoi2017]数字表格
    Launcher类源码分析
    平台特定的启动类加载器深入分析与自定义系统类加载器详解
    类加载器命名空间总结与扩展类加载器要点分析
    类加载器命名空间深度解析与实例分析
    类加载器实战剖析与疑难点解析
    类加载器命名空间实战剖析与透彻理解
  • 原文地址:https://www.cnblogs.com/qiqisx/p/9342956.html
Copyright © 2011-2022 走看看