项目创建
方式1:在官网上(https://start.spring.io/)使用Spring Initializr
工具创建。填写好项目信息后,点击”Generate Project“按钮生成项目;下载此项目压缩包。最后解压以maven项目导入IDEA
方式2:使用idea直接创建(本质上是idea根据输入的项目信息自动完成了方式1)
创建一个新项目,选择Spring Initializr
idea无法访问start.spring.io解决方法:使用国内镜像。idea默认的是使用官网。可以改为使用阿里云镜像。
即在创建时选择使用http://start.aliyun.com
项目结构
- 注意必须在java下创建一个包,且springboot的main()与包的根目录同级才能识别
- service,entity等代码与main()类同级
- test下的是默认创建的单元测试,java下是springboot的启动类
- resources是配置文件和静态资源目录,默认创建一个核心配置文件application.properties
- pom.xml中为核心依赖
- controller的文件夹必须与主程序在一个目录下(同级子目录),如图中的test可以访问,而out访问不了,可以通过@ConpomentScan配置
pom.xml
- 默认配置如下
```xml
4.0.0 cn.mg FileManagement 1.0
<a name="Crflt"></a>
## pom默认以外的扩展
```xml
<!-- 打包的机制 默认为jar -->
<packaging>jar</packaging>
<!--引入 该依赖将Web服务集成进来,如集成了应用服务器和mvc功能,jackson等等。没有这个连基本的一些mvc注解都无法使用-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
编写接口(Controller)
- 在主程序(即项目Application.java)的同级目录下,新建一个包然后编写controller
@RestController public class HelloController { @RequestMapping("/hello") //处理url请求 public String hello() { return "Hello World"; } }
运行
启动主程序,访问localhost:8080
+控制器方法路径
浏览器返回Hello World (不要用test运行,test运行浏览器访问不了,因为必须启动main才能启动引入的启动器)打包
点击 maven的 package
如果遇上以上错误,可以在配置打包时跳过运行测试用例
#在pom.xml中添加以下内容
<!--
在工作中,很多情况下我们打包是不想执行测试用例的
可能是测试用例不完事,或是测试用例会影响数据库数据
跳过测试用例执
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--跳过项目运行测试用例-->
<skipTests>true</skipTests>
</configuration>
</plugin>
如果打包成功,则会在target目录下生成一个 jar 包。jar包即可在任何地方运行
彩蛋-修改启动logo
更改启动时显示的字符拼成的字母spring。这就是一个字符串。
只需一步:到项目下的 resources 目录下新建一个banner.txt
即可。
图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!
启动器 spring-boot-starter
spring-boot-boot-starter-xxx:就是spring-boot的场景启动器。如...-start-web
即web启动器
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件;
SpringBoot将所有的功能场景都抽取出来,做成一个个的starter (启动器),只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 , 我们要用什么功能就导入什么样的场景启动器即可 ;我们未来也可以自己自定义 starter;