欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一个springboot项目

程序员文章站 2022-04-19 22:45:05
...

依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
        </dependency>
    </dependencies>

更改端口号 可以通过debug: true查看哪些配置生效

server:
  port: 8868

给对象注入值

实体类:

@Component
@ConfigurationProperties(prefix = "person")//对应yaml文件
public class Person {
    private String name;
    private Date btr;
    private Map map;
    private List list;
    private Dog dog;}

yaml配置文件:

person:
  name: 德莉莎
  btr: 2020/02/02
  map: {k1: 1,k2: 2}
  list: [1,2,3]
  dog:
    name: ${random.uuid} #生产uuid随机字符串
    age: ${random.int} #生产随机数字

name-i 可与 nameI 进行松散绑定<驼峰原则>

jsr303数据校验

实体类:

@Component
@ConfigurationProperties(prefix = "userurl")
@Validated //开启数据校验
public class Url {

    private String name;
    @Email()//数据校验内容为email
    private String url;}

yaml配置:

userurl:
  name: hahaha
  url: [email protected]    此属性进行数据校验在实体类中 JSR303

方式一:多环境指定配置 例:现有环境application.yaml, application-test.yaml, application-dev.yaml使用"—分割不同环境"

spring:
  profiles:
    active: test  #此处只写-后面的标识,指的是application-test.yaml 默认使用application.yaml

# 方式二:多环境指定配置
# 在同一.yaml文件中使用---分割不同环境配置  例:
---
spring:
  profiles: dev  #环境名

server:
  port: 8080

---
spring:
  profiles: test  #环境名

server:
  port: 8080

---
spring:
  profiles: run  #环境名

server:
  port: 8080
# 指定:在第一个环境中指定,如下:
spring:
  profiles:
    active: test  #此处只写-后面的标识,指的是application-test.yaml 默认使用application.yaml

自动装配的原理:

精髓:
1)、SpringBoot启动会加载大量的自动配置类
2)、我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类当中;
3)、我们再来看这个自动配置类中到底配置了哪些组件; (只要我们要用的组件存在在其中, 我们
    就不需要再手动配置了)
4)、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。
    我们只需要在配置文件中指定这些属性的值即可;
xxxAutoConfigurartion:自动配置类;给容器中添加组件
xxxProperties:封装配置文件中相关属性;