SpringBoot的使用

入门

  • 创建空工程
  • 创建Maven项目
  • 添加依赖

    • parent

      <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.1.4.RELEASE</version>
      </parent>
    • 起步依赖

      <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
  • 创建启动类

    @SpringBootApplication
    public class SpringbootApplication {
    
      public static void main(String[] args) {
          SpringApplication.run(SpringbootApplication.class,args);
      }
    }
  • 创建Controller

    @RestController
    public class TestController {
      @RequestMapping("/hello")
      public String showHello(){
          return "hello world";
      }
    }

    Springboot配置文件

  • yml(yaml)

    语法特点:
    1、大小写敏感
    2、数据值前必须有空格,作为分隔符
    3、缩进的空格数目不重要,只需要对其即可
    4、#表示注释
    server:
    port: 8081
  • 获取yml中的值

    @value注解的方式 只能获取简单值
    Environment的方式
    @ConfigurationProperties
    # 基本格式 key: value
    name: zhangsan
    # 数组   - 用于区分
    city:
    - beijing
    - tianjin
    - shanghai
    - chongqing
    #集合中的元素是对象形式
    students:
    - name: zhangsan
      age: 18
      score: 100
    - name: lisi
      age: 28
      score: 88
    - name: wangwu
      age: 38
      score: 90
    #map集合形式
    maps: {"name":"zhangsan", "age": "15"}
    #参数引用
    person:
    name: ${name} # 该值可以获取到上边的name定义的值
    age: 12
    @RestController
    public class Test2Controller {
      @Value("${name}")
      private String name;
    
      @Value("${city[0]}")
      private String city0;
    
      @Value("${students[0].name}")
      private String studentname;
    
      @Value("${person.name}")
      private String personName;
    
    
      @Value("${maps.name}")//value注解只能获简单的值对象
      private String name1;
    
      @Autowired
      private Student student;
    
      @RequestMapping("/show")
      public String showHello() {
          System.out.println(name);
          System.out.println(city0);
          System.out.println(studentname);
          System.out.println(personName);
          
          System.out.println(">>>>"+student.getAge());
    
          return "hello world";
      }
    }
    @Component
    @ConfigurationProperties(prefix = "person")
    public class Student {
      private String name;
      private Integer age;
    
      public String getName() {
          return name;
      }
    
      public void setName(String name) {
          this.name = name;
      }
    
      public Integer getAge() {
          return age;
      }
    
      public void setAge(Integer age) {
          this.age = age;
      }
    
    }

    高级特性

  • 自动配置原理

    1、condition接口及其注解

慈祥的茶壶
1 声望1 粉丝

« 上一篇
个人测试
下一篇 »
RabbitMq