HelloWorld
准备
1、环境准备:Java:JDK1.8,Maven3.5以上,SpringBoot2.x最新版。
2、开发工具:IDEA。
3、Maven设置给Maven 的settings.xml配置文件的profiles标签添加:
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
4、IDEA设置,整合Maven进来
创建项目
Spring官方提供了非常方便的工具让我们快速构建应用,提供了一个快速生成的网站,IDEA集成了这个网站。
Spring Initializr:https://start.spring.io/。
**项目创建方式一:**使用Spring Initializr 的 Web页面创建项目。
1、打开 https://start.spring.io/。
2、填写项目信息。
3、点击”Generate Project“按钮生成项目,下载此项目。
4、解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
**项目创建方式二:**使用 IDEA 直接创建项目。
1、创建一个新项目。
2、选择Spring Initalizr,可以看到默认就是去官网的快速构建工具那里实现。
3、填写项目信息。
4、选择初始化的组件(初学勾选 Web 即可)。
5、填写项目路径,等待项目构建成功。
项目结构分析
通过上面步骤完成了基础项目的创建。就会自动生成以下文件:
1、程序的主启动类。
2、一个 application.properties 配置文件。
3、一个测试类。
4、一个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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--有一个父项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.coydone</groupId>
<artifactId>helloworld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>helloworld</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--springboot所有的依赖都是使用spring-boot-starter开头的-->
<!--web依赖:tomcat dispatcherServlet xml-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<!--打jar包插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
如上所示,主要有四个部分:
-
项目元数据信息:创建时候输入的Project Metadata部分,也就是Maven项目的基本元素,包括:groupld、 artifactld、 version、 name、description等。
-
parent:继承spring- boot -starter -parent的依赖管理,控制版本与打包等内容。
-
dependencies:项目具体依赖,这里包含了spring-boot-starter-web用于实现HTTP接口(该依赖中包含了SpringMVC),官网对它的描述是:使用SpringMVC构建Web(包括RESTful)应用程序的入门者,使用Tomcat作为默认嵌入式容器。spring-boot-starter-test用于编写单元测试的依赖包。
-
build:构建配置部分。默认使用了spring-boot-maven-plugin,配合spring-boot-starter-parent就可以把SpringBoot应用打包成Jar来直接运行。
编写http接口
1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到。如果在不同的目录下,使用注解@ComponentScan()
来指定扫描的包。
2、在包中新建一个HelloController类。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
//调用业务,接收前端的参数
return "hello,world";
}
}
@Controller
@RequestMapping("/hello")
public class HelloController {
//http://localhost:8080/hello/hello
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "hello";
}
}
3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了Tomcat访问的端口号。
resources文件夹中目录结构
-
static:保存所有的静态资源; js、css、images。
-
templates:保存所有的模板页面;(SpringBoot默认Jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf)。
-
application.properties:SpringBoot应用的配置文件,可以修改一些默认设置。
将项目打成Jar包
点击Maven的package。
<!--
在工作中,很多情况下我们打包是不想执行测试用例的
可能是测试用例不完事,或是测试用例会影响数据库数据。
跳过测试用例执行
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--跳过项目运行测试用例-->
<skipTests>true</skipTests>
</configuration>
</plugin>
如果打包成功,则会在target目录下生成一个jar包。
cmd窗口执行java -jar
指令即可运行。
修改项目的端口号
在配置文件application.properties
中:
# 更改项目的端口号
server.port=8081
自定义banner图案
如何更改启动时显示的字符拼成的字母,SpringBoot呢?也就是 banner 图案;
只需一步:到项目下的resources目录下新建一个banner.txt 即可。
图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可。
SpringBoot热启动
以前的开发我们改了Java代码后就必须重启Tomcat,我们可以通过SpringBoot的热部署工具让我们无需重启服务器。
Spring为开发者提供了一个名为spring-boot-devtools
的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。
有一个效果比较好的热启动工具。JRebel付费的,验证码:SRHD3HS7-H69D-GS9J
。
1、在pom文件中添加依赖。
<!--添加热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
2、在pom文件中的<build>
、<plugins>
下添加热部署插件。
<plugin>
<!--热部署配置-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--fork:如果没有该项配置,整个devtools不会起作用-->
<fork>true</fork>
</configuration>
</plugin>
3、设置IDEA的自动编译。
选择File-Settings-Compiler勾选 Build Project automatically。
4、快捷键 ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running。
这样每当你的代码5秒没有改变时,插件会自动重新编译Java代码。
评论区