侧边栏壁纸
博主头像
coydone博主等级

记录学习,分享生活的个人站点

  • 累计撰写 306 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

SpringBoot入门

coydone
2022-04-02 / 0 评论 / 0 点赞 / 282 阅读 / 5,560 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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代码。

0

评论区