SpringBoot常用注解(配置相关)

1.yml语法

★注意空格

yml中的写法

properties中的写法

2.@Value获取值和@ConfigurationProperties获取值比较

备注:

松散绑定:就是不区分配置文件中的大小写等等,都能获取到值

SpEL:配置文件中的计算获取的值

JSR303数据校验:例如在字段前面加@Emial注解,校验该字段是否为emial格式,如果不是,会报错!

复杂类型封装:例如map类型封装的数据

@Value获取值的代码

@RestController
public class HelloController {@Value("${person.lastName}")private String name;@RequestMapping("/sayHello")public String sayHello(){return "Hello," + name;}
}

@ConfigurationProperties获取值的代码(默认从全局配置文件中获取)

@PropertySource获取值的代码(从指定的配置文件目录获取

/*** 将配置文件中配置的每一个属性的值,映射到这个组件中* @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定*      perfix = "person": 配置文件中哪个下面的所有属性进行一一映射* @PropertySource:从指定的配置文件目录获取     *只有这个组件是容器中的组件,才能提供@ConfigurationProperties功能,所有要加@Component注解* */@Component@ConfigurationProperties(prefix = "person")     //默认从全局配置文件中获取@PropertySource(value={"classpath:person.yml"}) //从指定的配置文件目录获取@Datapublic class Person1 {@Email //数据校验,是否为emailprivate String lastName;private String age;private Boolean boss;private Date birth;private Map<String,Object> maps;private Dog dog;}

应用场景:

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;

如果说,我们专门写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

另外如果需要从指定配置文件目录获取的时候,用@PropertySource;

3.@Configuration和@Bean

/**
*  @Configuration:指明当前类是一个配置类,就是来代替之前的Spring配置文件
*
*  相当于在配置文件中<bean><bean/>标签添加注解
*/
@Configuration
public class HelloConfig {@Bean //此注解就是将方法的返回值添加到容器中,容器中这个组件的默认ID就是方法名public HelloService helloService(){return new HelloService();}
}

3.配置文件占位符

例如:(yml)

person:lastName: xiwen${random.uuid}age: 18boss: truebirth: 2018/07/07maps: {k1: v1,k2: v2}lists:- lisi- zhaowudog:name: 小狗age: 2

4.激活指定profiles

5.配置文件加载位置

6.外部配置加载顺序(所有加载配置来源)

命令行参数:java -jar game-0.0.1-SNAPSHOT.jar --server.port=8080  --server.context-path=/abc

多个配置用空格分开;--配置项=值

7.自动配置的原理

备注:在yml中添加配置即可

#开启Spring Boot的debug,可以打印出自动配置报告debug: true

SpringBoot学习三:常用注解(配置相关)相关推荐

  1. SpringBoot学习之常用注解

    @SpringBootAppliaction:通常注解写在SpringBoot启动类中,主要包括三个作用: 1.@Configuration表示将该类作用springboot配置文件类. 2.@Ena ...

  2. Java学习 --- springSecurity基于注解配置

    一.springSecurity基于注解配置 创建一个spring项目 1.pom.xml <?xml version="1.0" encoding="UTF-8& ...

  3. springBoot学习(二)配置环境动态切换和部分注解的运用

    springBoot配置环境动态切换 建立第一个配置文件(springBoot默认读取的文件)application.properties test.name=default test.default ...

  4. spring mvc学习(7):springmvc学习笔记(常用注解)

    1. @Controller @Controller注解用于表示一个类的实例是页面控制器(后面都将称为控制器). 使用@Controller注解定义的控制器有如下特点: 不需要继承任何类, 也不需要实 ...

  5. SpringBoot学习之@Configuration注解和@Bean注解

    @Configuration 1.@Configuration注解底层是含有@Component ,所以@Configuration 具有和 @Component 的作用. 2.@Configurat ...

  6. springboot 中使用 Mybatis 注解 配置 详解

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 传参方式 使用不同的传参方式: 使用@Param 之前博文中的项目使用了这种简单的传参方式: @In ...

  7. SpringBoot Dao层常用注解

    @Repository:作用在DAO层,将该类依赖注入,其他层就可以调用该mapper,如果启动类添加了@MapperScan注解,就不需要再写这个注解. @Data:注解在实体类上,为该实体类提供g ...

  8. springboot学习记录--Maven setting配置

    Maven setting配置镜像仓库 配置本地仓库  1 <!--自定义本地仓库路径--> 2 <localRepository>D:\JAVA\MavenRepositor ...

  9. SpringBoot下,利用@WebFilter配置使用与注意Filter

    Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如JSP,Servlet,静态图片文件或静 ...

最新文章

  1. android meta data值获取的坑
  2. 【MVC】Controller的使用
  3. PostMessage
  4. Lua中的metatable
  5. Android之用java的socket写服务器提示java.net.BindException: Address already in use
  6. 1.0jpa 2.0_JPA 2.1如何成为新的EJB 2.0
  7. dreamweaver开源_Dreamweaver的7种开源替代品
  8. 2013蓝桥杯C++B:第39阶台阶(递归法);前缀判断
  9. .Net 的 Web 项目中 关于TreeView 的 checkBox 的操作……
  10. RedHat Linux 5.2 网关及安全应用
  11. IBM Watson启示录:AI不应该仅仅是炫技
  12. 数通学习网络协议地图
  13. 不在同一局域网?组建家庭局域网的方案和踩坑
  14. 如何给宝宝取一个高雅有内涵的名字
  15. 【转】MEGA构建系统进化树的步骤(以MEGA7为例)
  16. 传奇引擎注册服务器,GeeM2引擎架设传奇不能注册账号 进不去游戏
  17. WPF学习笔记16 BookDemo 2
  18. 3D建模一个月的真实收入,当作副业在家就能月入过万?
  19. CLion设置默认显示汇编指令的格式
  20. 最全最细的零知识 (ZK) 证明解读

热门文章

  1. 拼多多验证码识别展示(附测试链接)
  2. 鸿蒙系统荣耀8xmax,华为8月9日发布基于安卓10.0全新系统 自主鸿蒙会同台亮相
  3. [视觉SLAM十四讲]学习笔记1-刚体运动之旋转矩阵与变换矩阵
  4. Linux之cat tail less常见用法
  5. 电子皮带秤称重传感器电阻如何测量好坏判断
  6. 三坐标测量机测头的测球半径补偿误差
  7. HTTP代理IP的含义 HTTP代理IP如何使用?
  8. IDA7.7.220118 - The graph is too big
  9. 英格兰vs波兰比赛预测!小组头名之争谁能拔得头筹?世预赛分析!
  10. AirMagic for mac(ps/lr无人机航拍效果增强软件) v1.0.2(7263)中文版