栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot入门笔记3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot入门笔记3

新建项目 springboot-02-config


官方不推荐使用properties配置文件(properties也可以用 只是yaml方便又快捷)

SpringBoot使用一个全局的配置文件
配置文件的作用 :修改SpringBoot自动配置的默认值(因为SpringBoot在底层都自动配置好了)
且配置文件名称是固定的

  • application.properties
    语法结构 :key=value

  • application.yml
    语法结构 :key:空格 value

而传统的xml配置方法是:


    8081

yaml基础语法
  • 空格不能省略
  • 用缩进控制层级关系 (即左边对齐的一列数据都是同一个层级的)
  • 属性和值的大小写都是十分敏感的
# 普通的kv
name: renyu

#对象
student:
  name: renyu
  age: 3
  #行内写法:         student: {name: renyu,age: 3}

#数组
pets:
  - cat
  - dog
  - pig
  #行内写法:         pets: [cat,dog,pig]
下面跟着图示做(偷懒可以用lombok)








另外(解决报红):


添加到pom.xml里并重启idea就好了


    org.springframework.boot
    spring-boot-configuration-processor
    true

拓展:加载指定的配置文件


拓展:配置文件占位符

对比:配置yml和配置properties

properties配置文件在写中文的时候,会有乱码。因此我们:

举例:

在User类上使用@Value来进行注入:

@Component //注册bean
@PropertySource(value = "classpath:user.properties")
public class User {
    //直接使用@value
    @Value("${user.name}") //从配置文件中取值
    private String name;
    @Value("#{9*2}")  // #{SPEL} Spring表达式
    private int age;
    @Value("男")  // 字面量
    private String sex;
}
总结

优点:

  • @ConfigurationProperties只需要写一次即可 , @Value则需要每个字段都添加(为每个属性单独注解赋值)
  • 支持松散绑定(比如last-name,和lastName是一样的,即 - 后面跟着的字母默认是大写的)
  • 复杂类型封装(yml中可以封装对象)
  • JSR303数据校验 , 即在字段是增加一层过滤器验证 , 保证数据的合法性

    注:Email注解报红 添加validation启动器(2.2以上版本的都需要自己导入)

  org.springframework.boot
  spring-boot-starter-validation

配置yml和配置properties都可以获取到值
如果在某个业务中,只需要获取配置文件中的某个值,可以使用@value
如果说编写了一个JavaBean和配置文件一一映射,就用@configurationProperties

                                                                   参考资料:狂神说
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号