【SpringBoot学习02】springboot基础配置

1. 复制工程

  1. 在工作空间中复制对应工程,并修改工程名称
    选择新建的较为干净的工程项目,复制,并重命名,将其指定为自己的模板工程
    在这里插入图片描述

  2. 删除与Idea相关配置文件,仅保留src目录与pom.xml文件
    在这里插入图片描述

  3. 修改pom.xml文件中的artifactId与新工程/模块名相同
    复制模板工程,并重命名项目名称,复制项目名称,进入pom.xml文件,将artifactId中的名成替换成当前项目名称。
    在这里插入图片描述

  4. 删除name标签(可选)

  5. 保留备份工程供后期使用
    这时,我们可以将第三步创建好的项目导入idea进行相应的开发。

2. 属性配置

SpringBoot默认配置文件application.properties

2.1 修改配置

  1. 修改服务器端口
    application.properties配置文件采用的是key->value键值对的书写格式。

修改端口号为8888

server.port=8888

  1. 日志信息设置
#修改日志级别debug info error
logging.level.root=info
  1. 运行日志图标修改
#修改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核心文件配置方式

  1. application.properties (传统/默认)
  2. application.yml (主流)
  3. 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语法规则

  1. 大小写敏感
  2. 属性层级关系使用多行描述,每行结尾使用冒号结束
  3. 使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
  4. 属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
  5. #表示注释

核心规则:数据前面要加空格与冒号隔开

接下来我们编辑yml配置文件,并读取配置文件内容在控制台输出

#yml中设置端口不生效,使用maven指令进行clean一下再运行

server:
  port: 8888

#创建类用于封装数据集合
#由spring帮我们去加载数据到对象中,一定要告诉spring加载这组信息
#使用时候从spring中直接获取信息使用
user:
  name1: hx
  age: 22
  address: Zhangzhou

country: China

2.6 yml数据读取

  1. 使用@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,这里注意两点

  1. 使用@ConfigurationProperties注解绑定配置信息到封装类中
  2. 封装类需要定义为Spring管理的bean,否则无法进行属性注入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值