SpringBoot 从入门到源码解析
快速入门 |
-
创建 Maven 工程,引入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
-
创建主程序,运行main函数,浏览器直接访问。
//启动类 @SpringBootApplication public class Springboot01Application { public static void main(String[] args) { SpringApplication.run(Springboot01Application.class, args); } } //Controller控制层 @RestController public class HelloController { @RequestMapping("/hello") public String hello(){ return "hello spring boot"; } }
-
简化配置:唯一配置文件
application.properties
-
简化部署:打包插件,打成jar包
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
原理分析 |
-
依赖管理
- 父项目做依赖管理,版本控制。
- 更改版本
- starter场景启动器
- 父项目做依赖管理,版本控制。
-
自动配置
-
我们自己写的Controller、Service、Dao都必须在启动类的包内或者子包,这样就会自动扫描包。
-
引入spring boot starter依赖,启动主程序,之前xml中的组件都被自动配置了,一共127个,但是因为条件装配(@Conditional),最终会按需配置。
-
配置文件的配置最终都对应一个类,这些类会在容器中创建对象。
-
注解使用 |
-
@Conditional:满足条件则进行组件注入
-
@ImportResource:导入Spring配置文件XML中配置的bean
-
@ConfigurationProperties:配置绑定,读取properties文件内容,封装到bean
-
@PathVariable:接收RestFul风格请求参数,可以单个接收,也可以封装到一个Map集合中
-
@RequestParam:获取请求参数,同样可以使用Map接收所有。
-
Lombok插件
//1、引入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> //2、IDEA安装Lombok插件 //3、实体类添加注解 @Data //Get、Set方法 @ToString //ToString方法 @AllArgsConstructor //全参数构造方法 @NoArgsConstructor //无参构造方法
热部署 |
- 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
- 其他配置:CTRL+shift+alt+/
作 者:凑数的园丁
出 处:https://www.cnblogs.com/lq-404/
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。