前言
Spring Boot
是用来简化Spring
应用初始搭建以及开发过程的全新框架,被认为是SpringMVC
的接班人,和微服务紧密联系在一起。Spring Boot 简单实例Demo
SpringMVC 的优缺点
优点:
Spring Boot
适合快速开发,适合构建微服务系统。封装了经常使用的组件,比如MyBatis
,Hibernate
,MongoDB
等。- 纯
Java
的配置,简单方便。 - 配置Maven等构建工具后,
java -jar
进行部署比较简单。 Spring Boot
对自定义十分友好,可以配置在application.yml
或者Config
类,Spring Boot
的整体思想是有自定义的话,自定义优先,否则走默认配置。Spring Boot
使编码,配置,部署,监控变得简单起来。
缺点:
- 太方便,使得没有经验的新手根本不知道
Spring Boot
底层到底干了什么。集成度较高,使用过程中不容易了解底层。 - 相关学习文档少, 坑多。
- 太方便,使得没有经验的新手根本不知道
第一个Spring Boot的应用
- 首先创建一个
New Project
,要选择Spring Initializr,
然后Choose Initializr Service URL
应该选择Custom
, 正确的链接应该是http://start.spring.io/
,而不是https://start.spring.io/
。https
会造成我们访问失败!
2.相关配置,Type
我们选择Maven Project
3.选择Web
就行了。另外Spring Boot
的版本是1.5.8
4.Finished
。大功告成!
5.由于默认的setting.xml
配置,导致我们从远程下jar实在是太慢,所以我们要修改.m2
下面的setting.xml
文件,同时将setting.xml
原本指向C:\Users\Administrator\.m2\repository
的仓库地址,改成我们自定义的盘下面即可。
我的setting.xml是这样的,如果还是看不懂的话,请移步Setting.xml相关配置
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors
6.我们可以看到这个DemoApplication
类, 这是整个Spring Boot
应用的入口,有@SpringBootApplication
这个注解,显而易见。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
7.接下来我们创建一个HelloController.java
, @RestController
这个注解的作用:声明这是一个Controller
类,返回json
。其实就是@ResponseBody
和@Controller
的结合体。
@RestController
public class HelloController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String say() {
return "Hello, Spring Boot!";
}
}
8.启动有3种方式。
(1)直接在Itellij IDEA
启动。
(2)在项目的根目录下,打开命令窗口,输入mvn spring-boot:run
(3)在项目的根目录下,打开命令窗口,输入mvn install
,让项目生成jar
包。
然后会发现target
包下面多了一个jar
包。
输入命令java -jar target/demo-0.0.1-SNAPSHOT.jar
9.我们就可以访问Spring Boot
应用了。
项目属性配置
1.我们可以在resources文件夹
下面建3个properties
, application-dev.properties
是开发环境下的配置文件。application-prod.properties
是应用环境下的配置文件。Spring Boot
默认读取的配置文件是application.properties
,我们只需要在application.properties
指定使用哪一个环境下的配置文件即