- 系统要求
- HelloWorld
- 创建Maven工程
- pom 文件中引入依赖
- 创建主程序
- 编写逻辑业务
- 测试
- 简化配置
- 简化配置
- 自动配置讲解
- 依赖管理
- 无需关注版本号,自动版本仲裁
- 可以修改默认版本号
- 查看自动配置的组件
- 自动配置分析
ssdss不同版本之间的差异可以如下观看:
ssdss①、寻找相应的版本,比如目前最新版本是2.5.6,所以我们要看相应版本的要求。
ssdss②、点击 “ Getting Started ” 查看相关的系统要求
ssdss③、我们发现系统需要Maven需要3.5版本以上,并且jdk8以上兼容jdk17。
ssdssMaven的相关配置:(在maven所在文件下的config 下的settings.xml进行配置)
HelloWorldnexus-aliyun central Nexus aliyun http://maven.aliyun.com/nexus/content/groups/public jdk-1.8 true 1.8 1.8 1.8 1.8
ssdss需求:浏览发送/hello请求,响应 Hello,World! 。
官方文档为:https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application
创建主程序 编写逻辑业务org.springframework.boot spring-boot-starter-parent 2.5.6 org.springframework.boot spring-boot-starter-web
ssdss运行主程序,结果如下:
我们可以看到Tomcat已经在8080端口运行了在浏览器端访问: http://localhost:8080/hello
官方地址:https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application.pom
org.springframework.boot spring-boot-maven-plugin 2.5.6
ssdss执行maven的package命令把项目打成jar包,直接在目标服务器执行即可。cmd执行打包好的程序:(如果是用 tomcat,则要专门打包成 war包)
java -jar boot-01-helloworld-1.0-SNAPSHOT.jar
ssdss【注】:有的时候cmd命令启动不了springboot项目,可能是因为在属性中开启了【快速编辑模式】,取消方法:右击cmd控制台的窗口上方标题区域打开【选项】取消勾选【快速编辑模式】
自动配置讲解 依赖管理ssdss ● 父项目做依赖管理
依赖管理 上面的父项目org.springframework.boot spring-boot-starter-parent 2.5.6 几乎声明了所有开发中常用的依赖的版本号==>自动版本仲裁机制 org.springframework.boot spring-boot-dependencies 2.5.6
ssdss ●开发导入 starter 场景启动器
org.springframework.boot spring-boot-starter 2.5.6 compile
ssdss1. 见到很多 spring-boot-starter-* : * 指的是某种场景。
ssdss2. 只要引入starter,这个场景的所有常规需要的依赖我们都自动引入。
ssdss3. SpringBoot所有支持的场景
ssdss4. 见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。
ssdss5. 所有场景启动器最底层的依赖。
ssdss6. 也可以创建自己的 starter。
ssdss1. 引入依赖默认都可以不写版本
ssdss2. 引入 非 版本仲裁的jar,要写版本号。
可以修改默认版本号ssdss1. 查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。
ssdss2. 在当前项目里面重写 key 的配置 - 就近优先原则
1、查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。 2、在当前项目里面重写 key 的配置查看自动配置的组件5.1.43
ssdss在主程序类查看配置了哪些组件:
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
// 查看自动配置的组件
// 1.返回IoC容器
ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class, args);
// 2.查看容器里面的组件
String[] names = run.getBeanDefinitionNames();
for (String name:names ) {
System.out.println(name);
}
}
}
自动配置分析
ssdss自动配好Tomcat: • 引入Tomcat依赖。• 配置Tomcat
org.springframework.boot spring-boot-starter-tomcat 2.5.6
ssdss自动配好SpringMVC
sdssdss• 引入SpringMVC全套组件
ssddsss• 自动配好SpringMVC常用组件(功能)
ssdss自动配好Web常见功能,如:字符编码问题 • SpringBoot帮我们配置好了所有web开发的常见场景
ssdss改变扫描路径: @SpringBootApplication(scanbasePackages=“com.atguigu”) 或者@ComponentScan 指定扫描路径
@SpringBootApplication = @SpringBootConfiguration ➕@EnableAutoConfiguration➕ @ComponentScan("com.atguigu.boot")
ssdss各种配置都有默认值
sdssdssssdss• 默认配置最终都是映射到MulyipartProperties
sdssdssssdss• 配置文件的值最终会绑定到每个类上,这个类会在容器中创建对象
ssdss按需加载所有自动配置
sdssdssssdss• 非常多的starter
sdssdssssdss• 引入那些场景,这个场景的自动配置才会开启
sdssdssssdss• SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面



