SpringBoot怎么配置?如何自定义配置?有什么特点?SpringBoot项目打包

本文介绍了SpringBoot的主要特点,包括简化依赖和配置文件的编写,以及自动配置的实现方式。讨论了如何进行自定义配置,使用properties和yml文件。此外,还讲述了SpringBoot项目的打包流程,通常生成的jar文件包含内置web容器,可以直接启动。文章还涉及前后端分离的开发模式,RESTful API设计原则,并列举了常见的HTTP操作及对应注解。最后,提到了使用Postman和Swagger进行web程序测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot

 spring:
IoC:控制反转,降低类和类之间的耦合度
AOP:面向切面编程,在不修改原来代码的前提下增加新的功能

SpringBoot 特点:

1. 开箱即用,简化了 Spring 中的配置,极大的提高开发效率
2. 内置了 web 容器(Tomcat),不需要额外安装

SpringBoot 极大的简化了依赖和配置文件的编写

  starter:场景启动器
                 封装了某个 web 开发场景(功能)所需要的所有依赖和默认配置文件
  所有的 starter 列表:
        https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/using-boot-build-systems.html#using-boot-starter 
spring-boot-starter-parent:     所有的 springboot 都继承自该项目
    定义了一组互相兼容的依赖版本号和常用的插件 

SpringBoot 自动配置

    以前的所有的配置都没有消失,是 SpringBoot 帮咱们配置了

自动配置 如何实现:

    1. @SpringBootApplication
    2. @EnableAutoConfiguration
    3. @Import({AutoConfigurationImportSelector.class})
    4. autoconfigure/META-INF/spring.factories
        声明了各个 starter 中自动配置类的名称
    5. spring 加载自动配置类为 starter 提供一份默认的配置

SpringBoot 自定义配置:

 1. application.properties 或者 application.yml
 2. 在 config 包下创建配置类,增加 @Configuration 注解

properties 和 yml

properties:
    key1.key2.key3=value

 yaml:使用缩进保持层级关系,key 和 value 之间必须有空格,字符串可以加 ''
    key1:
        key2:
            key3:空格value


    key1.key2.key3=valeu1
    key1.key2.key4=value2
    key1.key5.key6=value3
    key7.key8=value4
    
    key1:
        key2:
            key3: value1
            key4: value2
        key5: 
            key6: value3
    key7:
        key8: value4    

SpringBoot 的打包:

通常 web 开发有三套环境:

    开发环境:程序员开发的时候使用的软件和配置
    测试环境:程序开发完毕,上线前测试使用的软件和配置
    生产(部署)环境:程序发布后使用的软件和配置
     
     多环境配置:
    application.yml:切换使用哪个配置文件
    application-dev.yml:开发环境的配置
    application-test.yml:测试环境的配置
    application-prod.yml:生产环境的配置
    
 打包:
    1. 点击闪电图表,跳过测试
    2. 双击 clean
    3. 双击 package

打包结果是一个 jar 文件,内置了 web 容器可以直接启动使用
上传服务器后使用 java -jar xxx.jar 启动程序

@SpringBootApplication:设置程序的入口和提供自动配置
      @SpringBootConfiguration:
         等价于 @Configuration 用于标识 Spring 中的配置类
    
@EnableAutoConfiguration:
    启用自动配置
    
@ComponentScan:
    扫描和启动类在同一个包下的 spring 注解,并使其生效

前后端分离:

后端:springboot
前端:vue
采用 RESTFul 风格的 API,以 JSON 格式组织数据
GET 查
POST 增
PUT 改
DELETE 删

常见注解:

	 @Controller:标识的类用于处理请求
	@RequestMapping:绑定请求和处理方法
	@ResponseBody:直接返回处理后的数据给客户端,默认情况是返回填充数据后的网页给客户端

	@RestController:@Controller + @ResponseBody
为当前 Controller 中的所有方法增加 @ResponseBody 注解
    
	@GetMapping:@RequestMapping(value = "", method = RequestMethod.GET)
	@PostMapping:@RequestMapping(value = "", method = RequestMethod.POST)
	@PutMapping:@RequestMapping(value = "", method = RequestMethod.PUT)
	@DeleteMapping:@RequestMapping(value = "", method = RequestMethod.DELETE)  

GET /users?page=1&size=10 获取用户

     参数以键值对的方式放在 path(请求地址) 后边,多个参数以 & 分隔
   SpringMVC 中使用 @RequestParam 注解获取参数

POST /users 添加用户

      {"name":"zhangsan", "age":20}    
       参数以 json 格式组织放在请求体中
   SpringMVC 中使用实体类和 @RequestBody 注解获取参数

PUT /users 修改用户信息

        {"id":1, "name":"zhangsan", "age":20}
         参数以 json 格式组织放在请求体中            
   SpringMVC 中使用实体类和 @RequestBody 注解获取参数

DELETE /users/1 删除 id=1 的用户

           参数放在 path 中
    SpringMVC 中使用 {} 和 @PathVariable 注解获取参数

GET /users/1 获取 id=1 的用户信息

    GET    /users/1/friends?page=1&size=10  获取 id=1 的用户好友列表
    登录注册必须使用 POST 方式,参数以 json 格式组织放在请求体中提交给服务器

登录注册必须使用 POST 方式,参数以 json 格式组织放在请求体中提交给服务器

上传文件必须使用 POST 方法,参数以 form 表单格式组织放在请求体中提交给服务器

SpringMVC 中使用 @RequestParm 注解获取参数

使用 Postman 发送请求测试 web 程序很简单,只有一个需要注意的地方:

参数以json格式放入请求体的配置

使用 swagger 测试 web 程序:

  1. 引入依赖

    <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>
    
    
    <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    
    1. 编写自定义配置类

      1. 创建 config 包
      2. 复制 MySwaggerConfigurer.java 类到包内
      3. 修改 绿色 的地方
        1. basePackage:controller 包的路径
        2. 描述信息
      4. 运行项目
      5. 浏览器输入:http://localhost:8080/swagger-ui.html
      6. 选择要测试的 类和方法,Try it out,输入参数,Execute,查看结果

      响应数据标准化:

       1 创建 ResponseVo 封装响应数据
         code:请求处理结果的状态码
         message:对 code 的解释说明
         data:返回给客户端的具体数据
      
      2. controller 中的请求处理方法都返回 ResponseVo<XXX>
         这样客户端就可以根据 code 针对同一个请求的不同响应结果做出不同的反应
        eg:登录就有 3 中响应:登录成功,账号不存在,密码错误
      

      通过 lombok 简化实体类的编写:

       1. 安装 lombok 插件
       2. 引入 lombok 依赖
       3. 使用注解生成代码:
         @Data:
       生成 getter && setter
         @NoArgsConstructor:
       生成无参构造方法
         @AllArgsConstructor:
       生成包含所有参数的构造方法
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值