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

  • 相关阅读:
    Python join方法
    Python字符串capitalize center 方法
    Python int 中 add abs 方法
    Nginx Windows 安装启动
    Angularjs 首次加载显示{{}}
    Mysql 字符串截取
    Mysql 主键常用修改
    AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
    Tocmat 启动错误 Port 8005 required by tomcat v7.0 server at localhost is already in use
    Socket IO Web实时推送
  • 原文地址:https://www.cnblogs.com/qiqisx/p/9342956.html
Copyright © 2011-2022 走看看