1. 新建一个Maven项目
- 使用idea新家一个maven项目,不使用任何archetype,就是一个纯净的maven项目
2. 在pom.xml中引入springboot父依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
</parent>
The spring-boot-starter-parent
is a special starter that provides useful Maven defaults. It also provides a dependency-management
section so that you can omit version
tags for “blessed” dependencies.
由于maven约定大于配置,所以
<parent>
标签的这个spring-boot-starter-parent
依赖是springboot提供的一些有用的maven约定-
该依赖还能让我们在使用别的依赖的时候不用指定版本,因为该依赖的父依赖是
spring-boot-dependencies
,而这个父依赖里面的<properties>
标签中已经配置了很多项目开发中常用的依赖以及版本,这就是springboot的一个特点 --> 依赖管理,可以让我们无需关注版本号,自动版本仲裁 -
以使用mysql连接驱动这个依赖为例,假设我们的项目中要用到mysql连接驱动,那么在pom.xml中添加依赖的时候像这样添加即可
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
并不需要我们去指定版本,这个特性叫版本仲裁
-
那么如果我想用指定版本的依赖怎么办呢?可以参考
spring-boot-dependencies
中的做法,在我们的项目的pom.xml中写一个<properties>
配置,在里面指定要用的版本,这里以使用mysql-connector-java
的5.1.43
版本为例-
先在
spring-boot-dependencies
中找到mysql-connector-java
依赖可以看到这里的版本是使用
<properties>
中配置的mysql.version
属性 -
找到相应的版本配置,这里即
mysql.version
-
在pom.xml中重写这个配置即可
<properties> <mysql.version>5.1.43</mysql.version> </properties>
-
3. 导入spring-boot-starter-web依赖
- 该依赖用于开发web项目,springboot的很多依赖都是这种命名格式:
spring-boot-starter-*
,*
表示不同的使用场景,这里是web项目,所以*
就是web - springboot也允许我们自己定义
starter
组件,starter
就是开箱即用的组件,一般自定义的starter
命名格式为:*-spring-boot-starter
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4. 编写入口程序
@RestController
@EnableAutoConfiguration
public class MainApplication {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
然后直接运行这个main方法即可让springboot跑起来了!
@EnableAutoConfiguration
这个注解是让当前这个类自动装配,让spring识别的,也可以用@SpringBootApplication
这个注解去编写入口程序
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
- 然后编写一个controller层的类
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello SpringBoot!";
}
}
注意,这个controller层的类要和入口程序的类在同一个包下,这样才能被spring扫描到
如果controller层和主程序类不在同一个包下,那么可以给@SpringBootApplication
注解的scanBasePackages
参数赋值,让spring知道该去哪里扫描包
@SpringBootApplication(scanBasePackages = "com.plasticine")
5. 修改运行端口
- springboot默认运行在8080端口,如果需要运行在别的端口,可以在resources目录下新建一个叫做
application.properties
的配置文件,在里面配置server.port
选项即可
6. 修改启动时的banner
springboot启动时会先输出一个banner,就是用字符串图片打印的那个spring,这里我们可以自定义要显示的内容
在resources目录下新建一个
banner.txt
在里面输入的字符串就会在每次运行springboot之前输出了-
这里有一个网站,可以生成banner