《7天学会spring cloud》第一天,熟悉spring boot,并使用spring boot建立一个应用。html
Spring Boot是Spring团队推出的新框架,它所使用的核心技术仍是Spring框架,主要是Spring 4.x,因此若是熟悉spring 4的人,可以更快的接受和学会这个框架。Spring boot能够看作是在spring框架基础上再包了一层,这一层包含方便开发者进行配置管理和快速开发的模块,以及提供了一些开箱即用的工具,好比监控等。java
Spring Boot官方文档有中文翻译版:git
https://github.com/qibaoguang/Spring-Boot-Reference-Guidegithub
要实现一个spring boot开发环境和传统的应用没有区别,这里用的是:web
IDE:myeclipse 10spring
JDK:jdk1.7docker
WINDOWS:mvn 3apache
在桌面windows环境里须要单独安装方便咱们使用命令行进行打包和操做。Eclipse环境里也须要安装mvn插件,固然若是使用的是myeclipse,那么自带的mvn环境就足够了。如下是创建spring boot helloworld应用的步骤。注意这是一个web应用,使用了嵌入式的tomcat。windows
1) 首选创建一个最简单的maven工程,以下图:浏览器
这个应用只有一个类,编写代码以下:
package cloud.simple.hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @SpringBootApplication public class SampleController { @ResponseBody @RequestMapping(value = "/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
@SpringBootApplication至关于@Configuration、@EnableAutoConfiguration和 @ComponentScan,你也能够同时使用这3个注解。其中@Configuration、@ComponentScan是spring框架的语法,在spring 3.x就有了,用于代码方式建立配置信息和扫描包。@EnableAutoConfiguration是spring boot语法,表示将使用自动配置。你若是下载了spring boot源码,就会看到spring boot实现了不少starter应用,这些starter就是一些配置信息(有点相似于docker,一组环境一种应用的概念),spring boot看到引入的starter包,就能够计算若是自动配置你的应用。
2) 配置pom.xml
这个应用不须要配置文件,写完class后就能够直接配置pom.xml文件了,固然先配置pom.xml也同样。Pom文件配置以下:
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- spring boot基本环境 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.1.RELEASE</version> </parent> <groupId>spring.boot</groupId> <artifactId>cloud-simple-helloword</artifactId> <version>0.0.1</version> <packaging>jar</packaging> <name>cloud-simple-helloword</name> <dependencies> <!--web应用基本环境配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
pom文件配置完,你就能够运行应用了,点击F11,或者在SampleController类右键“Run Java Application”就能够看到应用启动并运行了。
此时在浏览器输入http://localhost:8080/,你会看到helloworld字样,这是一个web应用,使用了嵌入式的tomcat。
在pom配置中咱们仅仅使用了spring-boot-starter-web依赖,spring boot会根据此依赖下载相关jar包并初始化基本的运行环境,好比说绑定端口8080等。
spring boot封装全部配置信息为键值类型,你想改变默认配置,只须要向应用传入这个键值对就能够,好比咱们想改变绑定端口为8081,那么你在main方法里传入“—server.port=8081”便可,或者干脆使用:
SpringApplication.run(SampleController.class, "--server.port=8081");
3) 部署spring boot应用
要部署运行spring boot应用,首选要打包spring boot应用,你在pom文件中看到的spring-boot-maven-plugin插件就是打包spring boot应用的。
进入工程目录运行mvn package,如:
D:\cloud-simple-helloword>mvn package
打包事后就能够进入target目录使用java原生命令执行这个应用了。
D:\cloud-simple-helloword\target>java -jar cloud-simple-helloword-0.0.1.jar --server.port=8081
如此,你就看到一个基于jar包的web应用启动了。
Spring boot提供的一些开箱即用的应用很是容易使用,好比监控,你只须要在pom文件中引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
引入以后,spring boot是默认开启监控的,运行应用你能够在浏览器中输入:
就能够看到默认的监控信息了:
{"status":"UP","diskSpace":{"status":"UP","total":161067397120,"free":91618398208,"threshold":10485760}}
信息包括程序执行状态以及基本的磁盘信息。