您现在的位置是:主页 > news > 比较好的企业网站/百度竞价点击神器
比较好的企业网站/百度竞价点击神器
admin2025/5/11 3:23:18【news】
简介比较好的企业网站,百度竞价点击神器,阿里巴巴批发网站上面怎么做微商,福州定制网站开发制作SpringBoot入门SpringBoot的第一个例子springboot系统构建分析springboot入门案例做完后需要解决的问题starter是什么?我们如何去使用这些starter?默认扫描器basepackagespringboot自动装配浅析springboot热部署如何开启springboot热部署springboot热部署原理和细节…
SpringBoot入门
- SpringBoot的第一个例子
- springboot系统构建分析
- springboot入门案例做完后需要解决的问题
- starter是什么?我们如何去使用这些starter?
- 默认扫描器basepackage
- springboot自动装配浅析
- springboot热部署
- 如何开启springboot热部署
- springboot热部署原理和细节
SpringBoot依赖于Spring,SpringCloud依赖于SpringBoot
SpringBoot的第一个例子
- 新建一个maven项目(父工程)
- pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>tx_sboot</artifactId><version>1.0-SNAPSHOT</version><modules><module>springboot_first</module></modules><!--由于是父工程所以对package要指定成pom--><packaging>pom</packaging><!--继承springBoot的父工程pom--><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.3.3.RELEASE</version></parent><dependencies><!--springBoot对springwebMVC的支持--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
- 在父工程下建立一个子模块
- pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><!--指定父工程(继承父工程)--><parent><artifactId>tx_sboot</artifactId><groupId>org.example</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>springboot_first</artifactId></project>
- 测试类
- TestController
package cn.tx.sfirst;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @ClassName TestController* @Description* @Author 周志强* @Date 2020/12/16 17:04* @Version 1.0*/
@RestController
public class TestController {@RequestMapping("hello")public String hello(){return "hello springBoot";}
}
- springboot的启动器
package cn.tx.sfirst;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @ClassName FirstSpringApplication* @Description* @Author 周志强* @Date 2020/12/16 17:06* @Version 1.0*/
@SpringBootApplication
public class FirstSpringApplication {public static void main(String[] args) {SpringApplication.run(FirstSpringApplication.class, args);}
}
springboot系统构建分析
可以用mvn -f springboot_first clean package命令对子工程进行构建,构建后会打成一个jar包,用命令java -jar springboot_first\target\springboot_first-1.0-SNAPSHOT.jar可以进行部署,springboot的项目用maven构建后会打成一个jar包,退出用Ctrl+C
此外还有一种方式是在windows平台直接双击
springboot入门案例做完后需要解决的问题
有以下几个问题需要解决
1、starter是什么?我们如何去使用这些starter?
2、Tomcat的内嵌是如何完成的
3、使用了web对应的starter,springmvc是如何自动装配?
4、我们如何来配置我们自定义的相关内容
starter是什么?我们如何去使用这些starter?
它就是一个启动器(里面包含了所使用技术的包),比如spring-boot-starter-web这个启动器就包含了springmvc相关的组件
通过继承springboot的父pom.xml获得,父pom.xml中包含一组启动器,整个继承就可以了,当然也可以单独使用其中的一个
<!--继承springBoot的父工程pom--><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.3.3.RELEASE</version></parent>
- 启动器类
@SpringBootApplication
public class FirstSpringApplication {public static void main(String[] args) {SpringApplication.run(FirstSpringApplication.class,args);}
}
默认扫描器basepackage
springboot的主启动类所在的package就是扫描器的basePackage。
启动器加@SpringBootApplication本质是配置文件 component-scan这种方式进行的。通过注解将
basepackage以bean的方式进行配置
springboot自动装配浅析
在绝大数依赖包中都有sping.factories这个文件,它就是进行自动装配类的一个集
流程图
springboot热部署
如何开启springboot热部署
- 引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional>
</dependency>
- 触发热部署
如果在IDEA中没有设置自动编译和CTRL+shift+ALT+/ (when webapp run)那么在IDEA中build一下就可以了(Ctrl+F9)
如果设置了就不需要了等待就可以了
方法:
第一步:
第二步:
最好把这个也改了
springboot热部署原理和细节
底层热部署有两个方面:
1、base classloader:加载不变的内容比如pom.xml
2、restart classloader:加载class文件
当启动类启动时候两个加载器都会起作用
3、热部署还可以排除掉一些不需要热部署的文件,在application.properties中配置spring.devtools.restart.exclude=application.properties
4、热部署不会热部署一些静态资源比如css文件和js文件但是会live reloader(类似于springmvc热部署中的jsp文件更新)