好久没写东西了,最近被业务代码疯狂折磨。
1.构建Maven项目
前提:Maven正常安装,环境已配置好。
cmd窗口中执行如下命令,后面按照步骤一步步输入完就在当前目录创建了maven项目(我选的阿里云模板7)。
mvn archetype:generate
2.应用SpringBoot模板
刚构建完的项目用IDEA打开是这样的,只有一个App.java和pom.xml文件。如何让它变成Springboot项目呢?
(1)App.class的main方法中添加
SpringApplication springApplication = new SpringApplication(App.class);
新添加的这样用Maven引入的依赖是:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
就变成了:
(2)App.class类上方添加标签@SpringBootApplication
刚打上去肯定是红的,引入依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
就变成了:
然后从这一刻开始,就变成了Spingboot项目。
区别就在于,在Edit Configuration里,可以添加Springboot运行配置了,可以指定整个Springboot项目的运行主类是App.class,其中的main方法也由Application变成了Springboot,有了一键启动的绿色按钮。
(3)添加springboot-web-starter依赖
此时的项目点击启动,运行执行完主方法就停止了,可以看到日志:
很显然不符合我们持续运行的要求,因为这样是无法持续响应请求的。这里就需要添加web依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
这个添加上去后,再启动便有了熟悉的模样,不会启动完就停止:
整个SpringBoot项目的构建过程就是这样了。总结一下:
1.构建Maven项目
mvn archetype:generate
2.添加spring-boot依赖,主方法启动
SpringApplication springApplication = new SpringApplication(App.class);
springApplication.run(args);
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
3.添加spring-boot-auto-configure依赖,@SpringbootApplication标签
@SpringbootApplication
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
4.添加spring-boot-starter-web依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
后续再经过一些项目初始化的配置就可以快乐的开始Crud了 ~
如果要访问templates下的html文件,还需要添加thymeleaf依赖,不然cotrol能进但是无法访问到html资源404:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>