一、Spring Mvc与Spring Boot的区别
Spring Mvc是基于servlet的mvc框架,主要用于web开发。但是在开发过程中,spring bean定义、bean之间的依赖关系需要xm文件实现。各种xml、Javaconfig配置较繁琐。过多的配置,对于系统拆分工作量也会更大。为解决配置繁琐的问题,引入spring boot。遵循约定大于配置,实现少量配置,快读上手,开箱即用的目的,极大简化spring配置流程。
Spring Boot本身并具有框架核心特性,而是结合spring框架提升开发者体验的工具。spring-boot-starter集成大量第三方库,这些第三方库几乎可以实现开箱即用。这样开发者者只需要专注于业务逻辑。
二、环境搭建
1.安装JDK
2.安装gradle
之前都是用maven做构建工具的,最近关注了一下gradle,这个项目采用gradle做构建工具。具体的区别大家可以上网搜索。
3.初始化spring boot项目
可以通过http://start.spring.io/创建一个初始化的spring-boot项目。初始化项目目录结构如下:
4.项目构建、运行
有如下三种方法:
(1)进入项目目录,gradle build 下载依赖包(如果build.gradle中repositories仍然依赖中心仓库,第一次构建需要下载相应的jar包,构建时间可能较长。为加速构建,可搭建自己的私服,上传依赖jar包)。
构建完成截图:
build构建成功后,会在项目目录下生成build目录,
运行:java -jar build/libs/hello-world-1.0.0.jar
在浏览器中输入localhost:8080/hello
(2)导入项目到开发工具Eclipse或者Idea都OK。找到main函数,项目结构如下:
右击“Run”,控制台如下:
(3)进入项目目录,命令行输入:gradle bootRun 验证方法同上。
5.项目配置build.gradle
// buildscript 代码块中脚本优先执行
buildscript {
// ext 用于定义动态属性
ext {
springBootVersion = '1.4.3.RELEASE'
}
// 使用了 Maven 的中央仓库(你也可以指定其他仓库)
repositories {
mavenCentral()
}
// 依赖关系
dependencies {
// classpath 声明说明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
// 使用插件
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
// 打包的类型为 jar,并指定了生成的打包的文件名称和版本(可根据自己需要修改)
jar {
baseName = 'initializr-start'
version = '0.0.1-SNAPSHOT'
}
// 指定编译 .java 文件的 JDK 版本
sourceCompatibility = 1.8
// 使用了 Maven 的中央仓库
repositories {
mavenCentral()
}
// 依赖关系
dependencies {
// 该依赖对于编译发行是必须的
compile('org.springframework.boot:spring-boot-starter-web')
// 该依赖对于编译测试是必须的,默认包含编译产品依赖和编译时依
testCompile('org.springframework.boot:spring-boot-starter-test')
}