基础入门
Maven 工程
1、引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
</parent>
<dependencies>
<!-- Web场景启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2、创建主程序类
//标识为SpringBoot应用
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
3、创建业务类
@RestController
//等价于@ResponseBody:以字符串返回到浏览器 + @Controller:Web层组件
public class HelloController {
@RequestMapping("/hello")
public String handle(){
return "Hello, Spring Boot 2";
}
}
简化配置
1、配置文件:application.properties
2、修改端口号(示例)
server.port=8888
简化部署
1、可执行 jar:包含已编译类,以及代码需要运行的所有 jar 依赖项
2、引入插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3、项目打包为 jar 包,直接在服务器执行
特点
1、依赖管理
(1)spring-boot-starter-parent 父项目:spring-boot-dependencies
(2)spring-boot-dependencies,几乎声明所有开发中常用的依赖的版本号、
(3)自动版本仲裁机制:无需关注版本号,引入依赖默认都可以不写版本;引入非版本仲裁的 jar,要写版本号
(4)可以修改默认版本号:查看 spring-boot-dependencies 中规定当前依赖的版本,所用的 key,在当前项目里面重写配置
<properties>
<key>版本号</key>
</properties>
(5)开发导入 starter 场景启动器:官方场景:spring-boot-starter-*;第三方场景:*-spring-boot-starter
(6)所有场景启动器最底层的依赖:spring-boot-starter,是所有 starter 的 starter
2、自动配置
(1)Tomcat:引入依赖,自动配置
(3)默认的包结构:主程序所在包,及其下面的所有子包中的组件,都会被默认扫描,无需以前的包扫描配置
(4)改变扫描路径:@SpringBootApplication(scanBasePackages="指定包路径"),或 @ComponentScan("指定包路径")
(5)@SpringBootApplication 等价于 @SpringBootConfiguration + @EnableAutoConfiguration + @ComponentScan
(6)各种配置拥有默认值:默认配置最终都是映射到某个类上,如:MultipartProperties;配置文件的值最终绑定在某个类上,该类会在容器中创建对象
(7)按需加载所有自动配置项:starter 引入场景,该场景的自动配置才会开启;Spring Boot 所有的自动配置功能都在 spring-boot-autoconfigure 包中(由 spring-boot-starter 导入)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战