typora-copy-images-to: …\qq截图
typora-root-url: …\qq截图
第一个SpringBoot程序
一:Spring的发展历程
1.1 Spring1.x时代
只是出现了XML配置文件的模式,所有项目的开发都是通过配置文件的模式来实现的
1.2 Spring2.x 时代
随着jdk 1.5 对注解的支持,Spring也开始支持注解的模式来实现的
问题:最佳的开发模式
- 应用的基本配置使用XML,比如数据源,资源文件
- 业务的开发使用注解模式 Service类和Controller类
- 框架的配置一般使用XML
二: 什么是SpringBoot
2.1 名词解释:习惯优于配置
我们在开发的时候,如果使用了SpringBoot这个框架的话,我们需要遵从SpringBoot内置的一些开发习惯,就可以完成我们项目的功能,也就是说,SprinBoot中内置了Spring能够整合的绝大多数框架,我们只需要遵从SpringBoot的使用习惯(规范)就可以完成我们的项目开发
2.2 什么是SpringBoot?
SpringBoot就是我们Sring团队的一个框架,这个框架的主要作用就是为了简化项目开发过程中繁多配置的这样一个框架
三: 第一个SpringBoot程序
3.1 创建一个SpringBoot的项目
File ----- new ---project ---Spring Initializr -----next
选择需要导入的包 ----next即可
3.2 SpringBoot的目录结构
java:这个目录的作用就是用来写代码的
resources/static: 这个目录的作用就是用来存放静态资源
resources/templates:存放引擎模板的地方
resources/application.properties:存放全局配置
test: 测试文件存放的地方
3.3 编写SpringBoot代码
3.3.1 编写一个启动类
package com.wcc.springboot;
@SpringBootApplication //这个注解的表示这是一个SpringBoot程序(启动类)
// 这个启动类必须位于项目的根包下,因为SpringBoot在扫描的时候,默认扫描与启动类同包以及他的子包下的文件
public class ApplicationContext {
public static void main(String[]args){
SpringApplication.run(ApplicationContext.class,args);
}
}
3.3.2 编写一个配置类
package com.wcc.springboot.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(basePackages = {"com.wcc.springboot"})
public class AppConfig {
}
3.3.3 编写控制层
package com.wcc.springboot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@RequestMapping("love")
public Object function(){
return "我是小王";
}
}
3.3.4 启动程序并测试
在浏览器输入
http://127.0.0.1:8080/love
四: 如何关闭相关的自动配置
@SpringBootApplication(exclude = {WebMvcAutoConfiguration.class}) //在启动类的注解上面加上exclude={自动配置类.class}
五: 如何自定义banner
5.1 什么是banner
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
在springboot启动的时候,出现的图案,就是bannner
5.2 首先打开如下网站
http://patorjk.com/software/taag/
5.3 在resources目录下创建banner.txt文件,并将内容复制进去
六: 全局配置
场景:springboot整合了ssm框架(SpringBoot自动帮助我们配置),有些参数需要修改怎么办?
全局配置:就是用来修改自动配置里面的某些参数
全局配置文件的位置
resources目录下:
application.properties文件:这个不容易出问题
applicatation.yml文件(自己创建,并且有严格的语法要求)
如果两个文件都修改了全局配置,默认使用application.properties文件中全局配置
七:Springboot是如何实现自动配置
7.1 源码流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6wdFF8FE-1597593511257)(…/…/qq截图/
7.2 原理
当springboot启动的时候,run方法通过一些列方法的调用,最后读取spring.factories,这个文件里面列举了Springboot能够自动配置的所有第三方配置,而这些配置上面都加了条件注解,这些配置能够满足所有的条件注解的时,这些配置才会生效
八: Starter POM
8.1 starter pom是用来干嘛的?
Starter POM就是SpringBoot内置的一些场景
场景: 简单来说就是为了开发某一功能的配置的集合
eg: web场景
SpringMVC的所有配置以及所有的依赖都包含在里面
8.2 怎么查看依赖关系
在pom.xml 文件的空白处右键 ---Diagrams ---show Dependencies