1、回顾什么是Spring
Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
-
基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
-
通过IOC,依赖注入(DI)和面向接口实现松耦合;
-
基于切面(AOP)和惯例进行声明式编程;
-
通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
2、什么是SpringBoot
Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。
简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。
3、构建SpringBoot项目
Spring官方提供了非常方便的工具让我们快速构建应用
第一种方式构建:直接在官网创建(不推荐)
首先进入这个页面Spring Initializr:https://start.spring.io/ ,在这里面我们可以直接构建项目然后下载到本地,它会自动帮我们引入我们选择的配置。
项目的依赖在:下图标注7add搜索一个web然后添加spirng web就帮我们引入所以web有关的jar包了
点完GENERATE就是下载到本地,有点慢等一小会即可有弹窗。
解压到本地,然后在idea上import即可
第二种方式构建:直接在idea中创建(实际开发)
1、create
这些和官网上选项是一样的
2、在这里直接选择web依赖
3、进入项目删除一些目前没用的文件。
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.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.kai</groupId>
<artifactId>springboot1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot1</name>
<description>my first springboot demo</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--这是web包 配置了tomcat xml DispatcherServlet.. 等等配置-->
<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>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 打包插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4、如图它会自动创建一个Springboot1Application这个是主程序
主程序不能删除也不能移动,并且自己创建的包、类必须要在和它同一目录下(com.kai目录下),如图我创建的controller包,application.properties是springboot的配置文件不可删除和修改
5、点击了run之后,如下图就会自动运行tomcat,默认窗口是8080
可以在application.properties配置文件里写一行:server.port=8081 ,就能改变端口号为8081。
需要我们手动(不会自动弹出浏览器)在浏览器地址栏里输入:http://localhost:8080/
就可以访问到本地,也不需要加什么项目名之类的。
6、我在controller包下写了一个HelloController类,然后添加一个hello方法
在浏览器直接输入http://localhost:8080/请求名就能访问不需要添加任何配置,就能和springmvc的效果一样
【注意】因为我在类上加了@RestController代表这类下的方法只返回字符串,但是,如果是@Controller,方法返回的是html文件的名,这个html必须写在templates目录下才能够被"请求"。
4、jar包可执行文件
1、将项目打成jar包,点击 maven的 package
如果打包成功,则会在target目录下生成一个 jar 包
2、在工作中,很多情况下我们打包是不想执行测试用例的,可能是测试用例不完事,或是测试用例会影响数据库数据,添加下面插件来跳过测试用例执行
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!--跳过项目运行测试用例-->
<skipTests>true</skipTests>
</configuration>
</plugin>
3、打成了jar包后,它会是一个可执行文件,可以在任何地方执行(运行就能在浏览器请求到),一般在微服务架构,每个jar包都有自己的一个端口号。
4、打包后的jar包所在的目录下 shift+鼠标右键,在此处打开PowerShell
5、输入:java -jar .\springboot1-0.0.1-SNAPSHOT.jar
就能执行这个jar包,也就能在浏览器地址栏直接输入请求并访问到
5、更改启动时显示的字符拼成的字母:SpringBoot
也就是 banner 图案;
只需一步:到项目下的 resources 目录下新建一个banner.txt 即可。
图案可以到:https://www.bootschool.net/ascii 这个网站生成,然后拷贝到文件中即可!