当前位置:   article > 正文

尚硅谷SpringBoot3笔记

尚硅谷SpringBoot3笔记

推荐课程:03.快速入门-示例Demo_哔哩哔哩_bilibili

目录

01--示例demo


01 -- 示例demo

1、在新建项目创建一个Maven 模块 

2、引入 spring-boot-starter-parent 和 spring-boot-starter-web 依赖

spring-boot-starter-parent 是 Spring Boot 提供的一个用于构建 Spring Boot 项目的父项目(Parent Project)。通过使用 spring-boot-starter-parent 作为项目的父项目,你可以继承 Spring Boot 默认的依赖管理、插件配置和默认配置等(这是必要的,如果缺省Maven 将会默认使用),从而简化项目的配置和构建过程。

spring-boot-starter-web Spring Boot 提供的一个用于构建 Web 应用程序的起步依赖(Starter Dependency)。通过引入 spring-boot-starter-web,你可以快速地构建基于 Spring MVC 的 Web 应用程序,无需手动管理依赖和配置。

  1. <!-- 所有springboot项目都必须继承自 spring-boot-starter-parent -->
  2. <parent>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-parent</artifactId>
  5. <version>3.0.5</version>
  6. </parent>
  7. <dependencies>
  8. <!-- web开发的场景启动器 -->
  9. <dependency>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-web</artifactId>
  12. </dependency>
  13. </dependencies>

3、指示 Spring Boot 启动类

  1. package org.example;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class MainApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(MainApplication.class,args);
  8. }
  9. }

4、构建控制器

  1. package org.example.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.GetMapping;
  4. import org.springframework.web.bind.annotation.ResponseBody;
  5. import org.springframework.web.bind.annotation.RestController;
  6. //@ResponseBody // 标记返回纯文本
  7. //@Controller // 标识一个类作为控制器,用于处理 HTTP 请求并返回相应的视图或数据
  8. @RestController // 以上两个注解的合成注解
  9. public class HelloController {
  10. @GetMapping("/hello")
  11. public String hello(){
  12. return "Hello,Spring Boot 3!";
  13. }
  14. }

5、启动

6、使用Maven打包

  1. <!-- SpringBoot应用打包插件-->
  2. <build>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.springframework.boot</groupId>
  6. <artifactId>spring-boot-maven-plugin</artifactId>
  7. </plugin>
  8. </plugins>
  9. </build>

打包成jar包后,可以直接在CMD中直接使用Java -jar运行。

D:\JavaCode\app-demo>Java -jar boot3-01-demo-1.0-SNAPSHOT.jar

02 -- 特性小结

1、简化整合

导入相关的场景,拥有相关的功能。场景启动器

默认支持的所有场景:Developing with Spring Boot

  • 官方提供的场景:命名为:spring-boot-starter-*
  • 第三方提供场景:命名为:*-spring-boot-starter

场景一导入,万物皆就绪

  • 开发什么场景,导入什么场景启动器。
  • 导入“场景启动器”。 场景启动器 自动把这个场景的所有核心依赖全部导入进来。

2、简化开发

无需编写任何配置,直接开发业务

3、简化配置

application.properties

  • 集中式管理配置。只需要修改这个文件就行 。
  • 配置基本都有默认值
  • 能写的所有配置都在: Common Application Properties

4、 简化部署

打包为可执行的jar包。

linux服务器上有java环境。

5、 简化运维

修改配置(外部放一个application.properties文件)、监控、健康检查。

03 -- spring initializer

一键创建好整个项目结构

 

04 --  应用分析

1、依赖管理机制

自定义版本号

  • 利用maven的就近原则
    • 直接在当前项目properties标签中声明父项目用的版本属性的key,遵循就近原则。
    • 直接在导入依赖的时候声明版本

2. 自动配置机制

  • 自动配置的 Tomcat、SpringMVC 等
    • 导入场景,容器中就会自动配置好这个场景的核心组件。
    • 以前:DispatcherServlet、ViewResolver、CharacterEncodingFilter....
    • 现在:自动配置好的这些组件
    • 验证:容器中有了什么组件,就具有什么功能
  • 默认的包扫描规则(controller只会从属主程序执行)
    • @SpringBootApplication 标注的类就是主程序类
    • SpringBoot只会扫描主程序所在的包及其下面的子包,自动的component-scan功能

    • 自定义扫描路径(改变执行顺序)
      • @SpringBootApplication(scanBasePackages = "com.atguigu")
      • @ComponentScan("com.atguigu") 直接指定扫描的路径

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/214508?site
推荐阅读
相关标签
  

闽ICP备14008679号