省略;
在 xxxApplication(项目名+Application 自动生成) 的启动类的同级下创建一个controller包,并创建一个控制类
@Controller
public class SpringBootPrimerController {
/**
* @author : huayu
* @date : 10/10/2022
* @param : [msg]
* @return : java.lang.String
* @description : 接收前端请求helloSbt,返回响应字符串
*/
@RequestMapping("/helloSbt")
@ResponseBody
public String hello(@RequestParam(value = "msg") String msg){
return String.format("Hello %s",msg);
}
}
application.properties 指定服务端口
# 服务端口
server.port=8080 # 默认时8080
@RestController //组合注解,相当于 @Controller + @ResponseBody
@GetMapping("/helloSbt")//相当于 @RequestMapping( method = {RequestMethod.GET} )
<!-- 指定打包方式,默认方式是jar,还可以是war -->
<packaging>jar</packaging>
cmd 到 项目jar包的目录下
java -jar 项目的 jar包
运行结果
<!-- starter 启动器:SpringBoot 框架将各个场景单独抽离出来,做成一个个启动器 -->
<!-- 一旦项目中添加了对应的启动器,自动将对应启动器中多有的依赖导入到项目中,直接进行添加配置开发即可,无需手动添加依赖 -->
<!-- 实际开发中,使用什么功能,就直接添加对应的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 为什么SpringBoot 项目添加依赖有的不需要指定版本(比如fastjson,添加必须指定版本号) -->
<!-- 原因:SpringBoot 框架提供了一个版本控制器(又叫:版本仲裁中心:spring-boot-dependencies) 定义了Springboot的依赖版本 -->
<!-- 好处:开发人员添加依赖不需要知道版本号,且不需要自己单独维护项目中的各个版本依赖,有防止版本之间的冲突 -->
1、点击 pom.xml中的启动器依赖
2.点击 spring-boot-starter-web 中的依赖 spring-boot-starters
3.点击 spring-boot-starters 中的依赖 spring-boot-parent
4.点击 spring-boot-parent 中的依赖 spring-boot-dependencies
5、在 spring-boot-dependencies 中可以看到 springboot对一些依赖的版本进行了版本控制,和冲突处理
<!--
SpringBoot应用的maven 插件,可以将当前SpringBoot 项目直接打包成一个可以执行的jar包,区别与普通jar包(里面没有源码),不能被依赖(比如fastjson依赖jar等)
即:可以直接通过java -jar 项目指定jar包 命令快速启动项目
-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
此注解,就是SpringBoot应用的核心启动类;
标注的类就是SpringBoot的核心配置类,是SpringBoot的专属注解,实际上跟 @Configuration 注解一致(等同于以前的核心配置文件),在SpringBoot应用启动时,会自动加载;
@SpringBootConfiguration 实际上跟 @Configuration 注解一致;
开启自动配置注解,以前都是手动创建xml核心配置文件,文件中增加核心配置,现在都交给SpringBoot框架自动配置;
@Import(AutoConfigurationPackages.Registrar.class)将springBoot核心启动类所在的父包及子包中所有的组件,自动添加到容器中
可以看出是将springBoot核心启动类所在的父包及子包中所有的组件,自动添加到容器中
可以看到96个configuration 应该在 META-INF/spring.factories中
在 resources 下 创建文件 banner.txt ,网上复制图案;
banner图网址:https://www.bootschool.net/ascii