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;
}
}
- 来来来,快来围观那个Kotlin
- 怎样提高网站访问速度缩短网页加载时间
- 使用Kotlin开发一个Spring Boot Webflux Streaming应用(附视频)
- 插入排序算法
- Javascript 的addEventListener()及attachEvent()区别分析
- 设计模式-用接口来实现filter!梭梭就是干!
- OpenDaylight实现轮询策略的负载均衡服务
- 微服务业务开发三个难题-拆分、事务、查询(上)
- 总结了一些指针易出错的常见问题(五)
- 微服务业务开发三个难题-拆分、事务、查询(下)
- C语言之控制台读取上下左右方向键指令
- C程序之修改Windows的控制台大小
- VS2010/MFC编程(对话框:模态对话框及其弹出过程)
- 设计模式-抽象类,只是想为你做更多
- 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 文档注释
- Laravel 读取 config 下的数据方法
- PHP实现数组根据某个字段进行水平合并,横向合并案例分析
- laravel框架上传图片实现实时预览功能
- PHP 多进程与信号中断实现多任务常驻内存管理实例方法
- Yii 框架控制器创建使用及控制器响应操作示例
- laravel-admin 实现给grid的列添加行数序号的方法
- Laravel 自动生成验证的实例讲解:login / logout
- 关于Laravel-admin的基础用法总结和自定义model详解
- 解决Laravel5.2 Auth认证退出失效的问题
- php输出文字乱码的解决方法
- laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
- laravel 5.3 单用户登录简单实现方法
- Thinkphp5.0 框架的请求方式与响应方式分析
- Yii框架视图、视图布局、视图数据块操作示例
- 用php定义一个数组最简单的方法