文章目录
1. 复制工程
-
在工作空间中复制对应工程,并修改工程名称
选择新建的较为干净的工程项目,复制,并重命名,将其指定为自己的模板工程
-
删除与Idea相关配置文件,仅保留src目录与pom.xml文件
-
修改pom.xml文件中的artifactId与新工程/模块名相同
复制模板工程,并重命名项目名称,复制项目名称,进入pom.xml文件,将artifactId中的名成替换成当前项目名称。
-
删除name标签(可选)
-
保留备份工程供后期使用
这时,我们可以将第三步创建好的项目导入idea进行相应的开发。
2. 属性配置
SpringBoot默认配置文件application.properties
2.1 修改配置
- 修改服务器端口
application.properties配置文件采用的是key->value键值对的书写格式。
修改端口号为8888
server.port=8888
- 日志信息设置
#修改日志级别debug info error
logging.level.root=info
- 运行日志图标修改
#修改banner
spring.main.banner-mode=console
spring.banner.image.location=iter.jpg
spring.banner.image.height=10
spring.banner.image.width=25
spring.banner.image.margin=2
2.2 SpringBoot核心文件配置方式
- application.properties (传统/默认)
- application.yml (主流)
- application.yaml
2.3 SpringBoot配置文件加载顺序
application.properties > application.yml > application.yaml
注意:不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留
2.4 解决yml和yaml配置文件自动提示消失
Setting → Project Structure → Facets
这样就声明yml和yaml为我们的springboot的核心配置文件。
2.5 yml语法规则
- 大小写敏感
- 属性层级关系使用多行描述,每行结尾使用冒号结束
- 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
- 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
- #表示注释
核心规则:数据前面要加空格与冒号隔开
接下来我们编辑yml配置文件,并读取配置文件内容在控制台输出
#yml中设置端口不生效,使用maven指令进行clean一下再运行
server:
port: 8888
#创建类用于封装数据集合
#由spring帮我们去加载数据到对象中,一定要告诉spring加载这组信息
#使用时候从spring中直接获取信息使用
user:
name1: hx
age: 22
address: Zhangzhou
country: China
2.6 yml数据读取
- 使用@Value读取单个数据,属性名引用方式:${一级属性名.二级属性名……}
@Value("${country}")
private String country;
@Value("${user.name1}")
private String name;
@Value("${server.port}")
private String port;
@GetMapping
public String findById(){
System.out.println("this is my springboot");
System.out.println(country);
System.out.println(name);
System.out.println(port);
}
}
2. 使用Environment对象封装全部配置信息,然后使用@Autowired自动装配数据到Environment对象中
@Autowired
private Environment en;
System.out.println(en.getProperty("user.name1"));
System.out.println(en.getProperty("server.port"));
System.out.println(en.getProperty("country"));
3. 自定义对象封装指定数据
假如我们要封装yml配置文件中的user对象的数据,要分三步走
1.创建类用于封装数据集合
@Data
public class User {
//这里的属性一定要和yml中的数据名称相对应
private String name1;
private int age;
private String address;
}
2.由spring帮我们去加载数据到对象中,一定要告诉spring加载这组信息,即在类上加
@Component
表明将User对象放入spring容器中
3.使用时候从spring中直接获取信息使用
@ConfigurationProperties(prefix = “user”)
添加测试
@Autowired
private User user;
System.out.println(user);
ok,这里注意两点
- 使用@ConfigurationProperties注解绑定配置信息到封装类中
- 封装类需要定义为Spring管理的bean,否则无法进行属性注入