介绍
什么是Spring
我们说到Spring,一般指代的是Spring Framework,它是一个开源的应用程序框架,提供了一个简易的开发方式,通过这种开发方式,将避免那些可能致使代码变得繁杂混乱的大量的业务/工具对象,说的更通俗一点就是由框架来帮你管理这些对象,包括它的创建,销毁等。
什么是Spring MVC
Spring MVC是Spring的一部分,Spring 出来以后,大家觉得很好用,于是按照这种模式设计了一个 MVC框架(一些用Spring 解耦的组件),主要用于开发WEB应用和网络接口,它是Spring的一个模块,通过Dispatcher Servlet, ModelAndView 和 View Resolver,让应用开发变得很容易。
什么是Spring Boot
初期的Spring通过代码加配置的形式为项目提供了良好的灵活性和扩展性,但随着Spring越来越庞大,其配置文件也越来越繁琐,太多复杂的xml文件也一直是Spring被人诟病的地方,特别是近些年其他简洁的WEB方案层出不穷,如基于Python或Node.Js,几行代码就能实现一个WEB服务器,对比起来,大家渐渐觉得Spring那一套太过繁琐,此时,Spring社区推出了Spring Boot,它的目的在于实现自动配置,降低项目搭建的复杂度,如需要搭建一个接口服务,通过Spring Boot,几行代码即可实现。
安装
安装JDK
下载JDK12
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
安装IntelliJ
下载IntelliJ
https://www.jetbrains.com/idea/download/#section=windows
IntelliJ是由 jetbrains 开发的收费IDE软件,使用体验比 Eclipse 好很多
配置JDK
我们需要为 JDK 设置环境变量 JAVA_HOME,以为引用 JDK 的程序可以找到
设置 Windows 环境变量 JAVA_HOME 指向 JDK 安装目录
设置环境变量需要重启电脑
使用
安装Spring Boot
IntelliJ默认是支持 Spring Boot 项目的,不过名字叫做 Spring Initializr 就是了
建立Spring Boot项目
点击 File -> New Project
在弹出的窗口左侧菜单里点击 Spring Initializr,点击 Next
在 Artifact 一栏输入项目名称 test
下一步直接点击 Next
在下一步的窗口左侧菜单里点击 Web,勾选右侧的 Spring Web,点击 Next
下一步直接点击 Finish
接下来窗口关闭,等待初始化完毕
测试Spring Boot项目
展开 Project 项目结构,选择 src -> main -> java -> com -> example -> test 节点
在 test 节点下面建立目录 model(模型),controller(控制器)
在 model 目录建立程序 Test.java,内容如下
package com.example.demo.model; public class Test { private final long id; private final String content; public Test(long id, String content) { this.id = id; this.content = content; } public long getId() { return id; } public String getContent() { return content; } }
在 controller 目录建立程序 TestController.java,内容如下
package com.example.demo.controller; import java.util.concurrent.atomic.AtomicLong; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.example.demo.model.Test; @RestController public class TestController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @RequestMapping("/counter") public Test dealTest(@RequestParam(value="name", defaultValue="World") String name) { return new Test(counter.incrementAndGet(), String.format(template, name)); } }
在 TestApplication.java 的类定义里修改@SpringBootApplication注释来取消自动加载配置
因为Spring Boot 会自动配置数据库连接,不过我们这个测试项目还用不到连接数据库
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
点击 Run -> Run 'TestApplication' 编译并启动项目
打开浏览器,输入网址 http://localhost:8080/counter,应该可以看到 Hello World 结果内容!
Spring Boot转Web
打开项目 pom.xml 文件,在 project 下面添加项目,设置打包方式
<packaging>war</packaging>
在 project -> dependencies 下面添加项目,设置使用外部 tomcat 服务器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
启动程序 Application.java 增加两行引用
import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
启动程序 Application.java 更改类继承父类 SpringBootServletInitializer
public class Application extends SpringBootServletInitializer {
启动程序 Application.java 添加重载方法 configure
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); }
Mavan
Apache Maven
下载
从官网下载 maven 包,地址 http://maven.apache.org/download.cgi
选择 Binary 包下载,地址 https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
解压缩得到 apache-maven-3.6.1 目录
导入
打开 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven
右侧 Maven home directory 修改为 apache-maven-3.6.1 的路径
右侧 User settings file 修改为 apache-maven-3.6.1/conf/settings.xml 的路径
点击 OK 关闭窗口
点击弹出的小提示框里的 Import changes 链接
这里会下载项目依赖库包,会比较漫长,慢慢等待吧
Mirror
设置镜像
如果发现 repo.maven.apache.org 慢的话可以设置一些镜像地址来提高速度
打开 apache-maven-3.6.1/conf/settings.xml
搜索 mirrors 节点,在里面添加自己的镜像地址
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
然后重新 build 就会使用这个镜像地址了
打包war
打包war
我们需要将项目打包成war,用来部署到tomcat上
设置 Windows 环境变量 Path 增加指向 maven 的路径 apache-maven-3.6.1/bin
重启电脑后,可以在 cmd 里输入命令 mvn -v 查看是否配置成功
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:2 9+08:00) Maven home: C:\Users\tongfu\eclipse\jee-2019-06\eclipse\apache-maven-3.6.1\bin\. . Java version: 12.0.2, vendor: Oracle Corporation, runtime: C:\Program Files\Java \jdk-12.0.2 Default locale: zh_CN, platform encoding: GBK OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
通过 cd 命令进入到自己的项目根目录,执行 mvn clean package,看到如下信息则表示成功了
[INFO] Replacing main artifact with repackaged archive [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:00 min [INFO] Finished at: 2019-08-28T17:54:54+08:00 [INFO] ------------------------------------------------------------------------
然后就可以在项目的 target 目录下面找到打包完成的 war 文件了