SpringBoot:相关系统要求、HelloWord、依赖管理、自动配置(粗浅)---- 2

系统要求

ssdss不同版本之间的差异可以如下观看:
在这里插入图片描述
ssdss①、寻找相应的版本,比如目前最新版本是2.5.6,所以我们要看相应版本的要求。
在这里插入图片描述
ssdss②、点击 “ Getting Started ” 查看相关的系统要求在这里插入图片描述
ssdss③、我们发现系统需要Maven需要3.5版本以上,并且jdk8以上兼容jdk17。在这里插入图片描述
ssdssMaven的相关配置:(在maven所在文件下的config 下的settings.xml进行配置)

<mirrors>
    <mirror>
       <id>nexus-aliyun</id>
       <mirrorOf>central</mirrorOf>
       <name>Nexus aliyun</name>
       <url>http://maven.aliyun.com/nexus/content/groups/public</url>
     </mirror>
</mirrors>
 
 <profiles>
        <profile>
             <id>jdk-1.8</id>
             <activation>
               <activeByDefault>true</activeByDefault>
               <jdk>1.8</jdk>
             </activation>
             <properties>
               <maven.compiler.source>1.8</maven.compiler.source>
               <maven.compiler.target>1.8</maven.compiler.target>
               <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
             </properties>
        </profile>
 </profiles>

HelloWorld

ssdss需求:浏览发送/hello请求,响应 Hello,World! 。

官方文档为:https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started.first-application
在这里插入图片描述

创建Maven工程
pom 文件中引入依赖
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.6</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
创建主程序

在这里插入图片描述在这里插入图片描述

编写逻辑业务

在这里插入图片描述
在这里插入图片描述

测试

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

简化配置

在这里插入图片描述在这里插入图片描述

简化配置
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.6</version>
            </plugin>
        </plugins>
    </build>

ssdss执行maven的package命令把项目打成jar包,直接在目标服务器执行即可。cmd执行打包好的程序:(如果是用 tomcat,则要专门打包成 war包)

java -jar boot-01-helloworld-1.0-SNAPSHOT.jar

ssdss【注】:有的时候cmd命令启动不了springboot项目,可能是因为在属性中开启了【快速编辑模式】,取消方法:右击cmd控制台的窗口上方标题区域打开【选项】取消勾选【快速编辑模式】

自动配置讲解

依赖管理

ssdss ● 父项目做依赖管理

   <parent>   依赖管理
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>2.5.6</version>
   </parent>
    上面的父项目
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.5.6</version>
  </parent>
  几乎声明了所有开发中常用的依赖的版本号==>自动版本仲裁机制

ssdss ●开发导入 starter 场景启动器

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>2.5.6</version>
      <scope>compile</scope>
    </dependency>

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 的配置 
<properties> 
	<mysql.version>5.1.43</mysql.version> 
</properties>

查看自动配置的组件

ssdss在主程序类查看配置了哪些组件:

/**
* 主程序类 
* @SpringBootApplication:加在主程序上,这是一个SpringBoot应用 
*/ 
@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

 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <version>2.5.6</version>
 </dependency>

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 包里面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值