Spring Boot

Spring Boot

​ Spring Boot是一个快速开发框架,可以迅速搭建一套基于Spring框架体系的应用,是Spring Cloud的基础。

​ javaConfiguration用java类替代xml的配置方式。

​ Spring Boot开启了各种自动装配,从而简化代码的开发,不需要编写各种配置文件。只需要引入相关依赖就可以迅速搭建一个应用。

  • 特点

1.不需要web.xml

2.springmvc.xml

3.不要tomcat,SpringBoot内嵌了Tomcat。

4.不需要配置JSON解析,支持REST架构

5,个性化配置非常简单。

  • 如何使用?

    1.创建handler

    package com.southwind.springboot3.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/index")
    public class HelloHandler {
    //    @GetMapping
    //用于将HTTP GET请求映射到特定处理程序方法的注释。
        @GetMapping("/hello")
        public  String index(){
            return "Hello Spring Boot!";
        }
    }
    

2.配置启动类

package com.southwind.springboot3;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Springboot3Application {

    public static void main(String[] args) {
        SpringApplication.run(Springboot3Application.class, args);
    }

}

启动类必须覆盖所有与业务相关的类:启动类所在的包必须是业务类同包或者父包。如果没有覆盖,业务类就不会自动装配到IoC容器中。

扫描

SpringBoot配置文件

自定义banner

#设置端口
server.port=8081
#设置项目访问路径
server.servlet.context-path=/springboot3
#cookie失效时间
server.servlet.session.cookie.max-age=100
#session失效时间
server.servlet.session.timeout=100
#编码格式
server.tomcat.uri-encoding=UTF-8

yaml

​ YAML是不同于Properties的另外一种文件格式,同样可以写配置文件,Spring Boot默认支持YAML格式,YAML格式优点在于编写简单,,利用缩进的形式表示层级关系

  • 相比于Properties,YAML可Snipaste_2023-02-19_14-16-23以进一步简化配置文件的编写,更加方便。

需要注意的是,YAML格式书写规范十分严格,属性名和属性值之间必须至少一个空格,

如果Properties和 YAML两种类型的文件同时存在,Properties的优先级更高。

配置文件除了放置在resources路径之外,还有三个地方可以放置,如下图所示。

Snipaste_2023-02-19_14-43-02

总的规则:根路径配置优先,config中配置优先

  • 1.根路径下的config中的配置文件
  • 2.根路径下的配置文件
  • 3.resources路径下的config中的配置文件
  • 4.resources路径下的配置文件

可以直接在Handler中读取YAML文件中的数据,比如在业务方法中向客户端返回当前服务的端口信息

@Value("${server.port}")
private String port;
@GetMapping("/index2")
public String index2(){
return "当前端口号:"+this.port;
}

posted on 2023-02-19 15:55  张铁蛋666  阅读(28)  评论(0编辑  收藏  举报

导航