Spring-boot参考(三) 配置
来源:互联网 发布:淘宝上的止鼾器有用吗 编辑:程序博客网 时间:2024/06/05 15:43
debug
开启debug开关可以查看更多的信息
java -jar myproject-0.0.1-SNAPSHOT.jar –debug
或者
在application.yml 中
debug: true
banner
banner.txt在classpath下增加这个文件,可以替换掉启动Spring的 图案。
Customizing the Banner
配置文件就是 环境变量。
在程序启动时 执行一些方法
实现 ApplicationRunner or CommandLineRunner 接口。
@Componentpublic class MyBean2 implements ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { System.out.println(args); }}
or
@Componentpublic class MyBean implements CommandLineRunner { public void run(String... args) { // Do something... System.out.println("hello"); System.out.println(args); }}
修改程序退出的 返回值
@SpringBootApplicationpublic class ExitCodeApplication { @Bean public ExitCodeGenerator exitCodeGenerator() { return () -> 42; } public static void main(String[] args) { System.exit(SpringApplication .exit(SpringApplication.run(ExitCodeApplication.class, args))); }}
Spring boot 配置参数的 加载顺序
- Devtools global settings properties on your home directory
(~/.spring-boot-devtools.properties when devtools is active). @TestPropertySource annotations on your tests.
@SpringBootTest#properties annotation attribute on your tests.
Command line arguments.
- Properties from SPRING_APPLICATION_JSON
(inline JSON embedded in an environment variable or system - ServletConfig init parameters.
- ServletContext init parameters.
- JNDI attributes from java:comp/env.
- Java System properties (System.getProperties()).
- OS environment variables.
- A RandomValuePropertySource that only has properties in random.*.
Profile-specific application properties outside of your packaged jar
(application-{profile}.properties and YAML variants).Profile-specific application properties packaged inside your jar
(application-{profile}.properties and YAML variants).- Application properties outside of your packaged jar (application.properties and YAML variants).
- Application properties packaged inside your jar
(application.properties and YAML variants). - @PropertySource
annotations on your @Configuration classes. - Default properties
(specified using SpringApplication.setDefaultProperties).
配置随机值
my.secret=${random.value}my.number=${random.int}my.bignumber=${random.long}my.uuid=${random.uuid}my.number.less.than.ten=${random.int(10)}my.number.in.range=${random.int[1024,65536]}
配置 SpringApplication
public static void main(String[] args) { SpringApplication app = new SpringApplication(MySpringConfiguration.class); app.setBannerMode(Banner.Mode.OFF); app.run(args);}
配置文件
默认会从 application.properties 这个文件中读取配置
这个文件放在
- A /config subdirectory of the current directory.
- The current directory
- A classpath /config package
- The classpath root
这几个位置都可以。
类型安全的 配置 ConfigurationProperties
@Value(“${property}”) 可能会造成类型的不安全, 所以提供了
ConfigurationProperties
@ConfigurationProperties("foo")public class FooProperties { private boolean enabled; private InetAddress remoteAddress; private final Security security = new Security(); public boolean isEnabled() { ... } public void setEnabled(boolean enabled) { ... } public InetAddress getRemoteAddress() { ... } public void setRemoteAddress(InetAddress remoteAddress) { ... } public Security getSecurity() { ... } public static class Security { private String username; private String password; private List<String> roles = new ArrayList<>(Collections.singleton("USER")); public String getUsername() { ... } public void setUsername(String username) { ... } public String getPassword() { ... } public void setPassword(String password) { ... } public List<String> getRoles() { ... } public void setRoles(List<String> roles) { ... } }}
ConfigurationProperties 需要设置setter方法。
profile
spring.profiles.active=dev,hsqldb
- Spring-boot参考(三) 配置
- Spring Boot参考文档(8)配置
- Spring Boot参考教程(五)Spring Boot配置使用之配置类用法
- Spring Boot参考教程(九)配置上传下载
- spring boot(三)logback日志配置
- spring boot 笔记(三):配置redis
- spring boot 教程(三)配置详解
- Spring Boot: (三)web开发配置
- Spring Boot参考教程(四)Spring Boot配置使用之配置文件用法
- Spring Boot参考教程(六)Spring Boot配置Servlet,Filter,Listener,Interceptor
- Spring-boot参考(二)
- Spring Boot 系列(三)属性配置&自定义属性配置
- Spring boot(三)
- Spring Boot参考教程(三)内部应用监控(Actuator)
- Spring Boot教程(三) --- 外部化的配置
- Spring Boot参考文档(1)
- Spring Boot参考文档(2)
- Spring Boot参考文档(3)
- 如何成为一名高薪构架师?
- 打印当前时间,学习使用Date类和Calendar类
- [bzoj3531][树链剖分]旅行
- 网站内容建设需要考虑的seo维度
- Centos(Redhat)JavaEE环境搭建(一)JDK安装
- Spring-boot参考(三) 配置
- AU3之Toolbar
- 机器学习升级版第七期——第二课(概率论与贝叶斯先验)
- 初识javaweb jsp登录案例
- 通过指针调用C++中私有虚函数
- 数据结构总结
- 阿里JAVA面试分享经验
- 一个管理msn的页面
- unity3d 第四天 物理引擎 刚体