SpringBoot学习二:基础配置
时间:2022-07-26
本文章向大家介绍SpringBoot学习二:基础配置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.SpringBoot的配置文件
properties 位置优先级:
- 项目根目录下的config目录
- 当前项目的根目录(与src同级)
- resources 目录下的 config 目录下
- resources目录下
这四个位置是默认位置,即 Spring Boot 启动,默认会从这四个位置按顺序去查找相关属性并加载。但可以通过 spring.config.location 属性来手动的指定配置文件位置,去指定目录下查找 application.properties 文件。
properties属性注入
book.properties
book.name=三国演义
book.author=罗贯中
book.id=1
properties传统方式在类中注入属性
@Component
//加载配置文件
@PropertySource("classpath:book.properties")
public class Book {
@Value("${book.id}")
private Long id;
@Value("${book.name}")
private String name;
@Value("${book.author}")
private String author;
//getter/setter
}
SpringBoot类型安全的属性注入
@Component
@PropertySource("classpath:book.properties")
@ConfigurationProperties(prefix = "book")
public class Book {
private Long id;
private String name;
private String author;
//getter/setter
}
@ConfigurationProperties(prefix = “book”)自动将Spring容器中对应的数据注入到对象属性中,不用@Value挨个注入
yaml yaml与properties的区别是yaml以缩进(空格缩进,不是Tab)代码层级关系, yaml有序,properties无序 yaml对 大小写敏感 书写格式:
key: value
redis:
redisConfigs:
- host: 192.168.66.128
port: 6379
# 注释,: value间有一个空格
#yaml方式注入
@Component
@ConfigurationProperties(prefix = "redis")
public class RedisCluster {
private List<SingleRedisConfig> redisConfigs;
//省略getter/setter
}
yaml数组注入 yaml也支持数组注入,例如
my:
servers:
- dev.example.com
- another.example.com
这段数据可以绑定到一个带Bean的数组中:
@ConfigurationProperties(prefix="my")
@Component
public class Config {
private List<String> servers = new ArrayList<String>();
public List<String> getServers() {
return this.servers;
}
}
- HTTP常见面试题
- Java基础-18(01)总结Map,HashMap,HashMap与Hashtable区别,Collections工具类
- 一个oracle查询引起的bug (r4笔记第59天)
- Java基础-18(02)总结Map,HashMap,HashMap与Hashtable区别,Collections工具类
- 特殊的物化视图刷新 (r4笔记第77天)
- 通过单例模式模拟RAC连接 (r4笔记第76天)
- 网站上的验证码是怎么产生的?
- Java基础-17(01)总结,登录注册案例,Set集合,HashSet
- mongoDB初探第一篇(r4笔记第75天)
- 重温快速排序(r4笔记第73天)
- Java基础-17(01)总结,TreeSet,LinkHashSet
- 海量数据迁移之数据抽取流程 (r4笔记第72天)
- CSS Selectors Level 4新特性全面解析
- 巧用外部表避免大量的insert (r4笔记第71天)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- MySQL limit导致的执行计划差异
- 3分钟短文:用Laravel的方式管理服务器的文件们
- 漫画:什么是 “抽象工厂模式” ?
- 啥?Grafana 还能为日志添加告警?
- Docker映射详解,没问题了!
- 写了很久!详细理解Spring和IoC
- 一位摸金校尉决定转行前端
- CentOS7下搭建并体验HFish开源蜜罐系统
- 唐朝人更懂React
- 唐朝人更懂React
- 一起学习PHP的runkit扩展如何使用
- CentOS7下部署开源网络流量回溯分析系统Moloch
- spring源码(八)
- 通过源码理解rarp协议(基于linux1.2.13)
- 详解Im2Col+Pack+Sgemm策略更好的优化卷积运算