介绍
什么是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
安装IntelliJ
下载IntelliJ#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’ 编译并启动项目
- 打开浏览器,输入网址 ,应该可以看到 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 包,地址
选择 Binary 包下载,地址
解压缩得到 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>
</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:Userstongfueclipsejee-2019-06eclipseapache-maven-3.6.1bin.
.
Java version: 12.0.2, vendor: Oracle Corporation, runtime: C:Program FilesJava
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 文件了