SpringBoot3
  nFFsDmyUFj1S 2023年11月15日 32 0

1>实例Demo

1 正文

idea创建空项目springboot3.

1 File >> New >> Project... >> Empty Project

2 项目springboot3,右键新建Model,boot3-01-demo

<!--所有的springboot项目都必须集成spring-boot-starter-parent--> 
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.5</version>
</parent>

<dependencies>
    <!--web开发的场景启动器 包含了springMVC json依赖等-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

3 创建HelloController

package com.lianying.boot.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController  //相当于@Controller+@ResponseBody
public class HelloController {
    @GetMapping("/hello")
    public String hello(){
        return "Hello,SpringBoot3";
    }
}

4 创建com.lianying.boot.MainApplicaotion启动类

package com.lianying.boot;

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

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

运行main方法后,浏览去输入localhost:8080/hello。页面返回Hello,SpringBoot3

5 打包Jar。pom.xml添加

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

在maven窗口执行。或者执行 mvn clean package

SpringBoot3_springboot3

打包后的文件在target目录。

执行jar 。java -jar boot3-01-demo

2 本章总结

1 简化整合

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

默认支持所有的场景 https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters

官方提供的场景 命名 spring-boot-starter-*

第三方提供的场景 命名 *-spring-boot-starter

2 简化开发

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

3 简化配置

application 集中式管理配置。配置基本都有默认值

4 简化部署

打包为可执行jar.

5 简化运维

使用外部applicatin文件

2>SpringBoot依赖管理机制

1 为什么导入starter-web所有相关依赖都导入进来?

  • 开发什么场景导入什么场景启动器
  • maven依赖床底顺序,A-B-C 。A就拥有B和C
  • 导入 场景启动器,启动器就把这个场景的所有核心以来全部导入进来

2 为什么不用写版本号

  • 每个boot项目都有一个父项目,spring-boot-starter-parent
  • parent的父项目是spring-boot-dependencies
  • 父项目版本仲裁中心,把所有常见的的jar依赖版本都声明好了

3 自定义版本

利用maven的就近原则。直接在当前的pom中生命版本号

3>自动配置机制

1 自动配置的Tomcat、SpringMVC等

  • 以前DispatcherServlet ViewResolver...
  • 现在自动配置好这些组件
  • 验证
@SpringBootApplication
public class MainApplication {
    public  static void main(String[] args){
        var d=SpringApplication.run(MainApplication.class,args);
        String i[]=d.getBeanDefinitionNames();
        for(String n:i){
            System.out.println(n);
        }
    }
}

2 默认扫描规则:只会扫描主程序所在包以及子包

3 自定义扫描路径

@SpringBootApplication(scanBasePackages="")

@ComponentScan()

4 配置默认值

配置文件的所有配置项是和某个类的对象值进行一一绑定的。

5 按需加载自动配置


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  0piCg03t9xej   2023年12月23日   79   0   0 mavenxmlJavaJavamavenxml
nFFsDmyUFj1S
作者其他文章 更多

2023-11-15

2023-11-05