1.学习必要:
(1)spring cloud是一个基于spring boot构建的架构开发工具,spring boot是基础
(2)自身各项优点:自动化配置,快速开发,轻松部署等,轻松整合
包括:
不重写spring配置,通过设计大量的自动化配置等方式简化spring原有样板化配置,快速构建应用;
通过一系列Starter POMS的定义,整合各项功能时,不需要再maven的pom.xml中维护错综复杂的依赖关系,而是通过类似模板化的starter模块定义引用,
使依赖关系变简单;
很好融入Docker,自身支持嵌入式Tomcat,Jetty等容器,不需要再安装Tomcat,将应用打包成war,再部署到Tomcat这样负责的构建与部署动作,只需将
spring boot应用打成jar,并通过java -jar命令直接运行就能启动一个标准化的web应用;
开发环节中,整个spring boot的生态系统都是用到了Groovy,完全可以通过使用Gradle和Groovy来开发spring boot应用:
下面示例通过编译打包后,使用java -jar命令就能启动一个返回hello的RESTful API
@RestController
class APP{
@RequestMapping("/")
String home(){
return "hello";
}
}
2.学习内容:
(1)如何构建spring boot项目
(2)如何实现RESTful API接口
(3)如何实现多环境的spring boot应用配置
(4)深入理解spring boot配置的启动机制
(5)spring boot应用的监控与管理
3.环境依赖:
JDK v1.6或更高:检查当前java安装版本: $ java -version 建议1.8
类路径中包含适当的spring-boot-*.jar文件即可,不需要任何特殊工具继承,虽然如此,通常建议支持依赖管理的构建工具,例如Maven:http://maven.apache.org安装
检查maven是否安装成功:$ mvn -v
开始——->
一、如何构建spring boot项目
(1)这里是一个Maven依赖工具构建实例
此实例来源于springboot在线文档: http://docs.spring.io/spring-boot/docs/current/reference/html/
new—> Project—>Maven Project—>Catalog:All Catalogs
Filter:选择org.apache.maven.archetypes:maven-archetype-webapp 1.0 此时看到pom文件内嵌jstl等web基本依赖,可以在创建项目于
完毕后$ mvn dependency:tree显示项目所有依赖
—–>填入项目相关信息
典型pom.xml文件:(这里只展示基本使用,具体可查阅spring boot官方网站https://spring.io来学习相关资料)
(2)这里展示一个小例子,正如我们这个demo1.Example.java展示的那样:
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
注解释义:
1.@RestController:构造型注释,为阅读代码的人提供了提示,对于spring来说,该类扮演了一个特定的角色,在此情况下,这个类是一个web
相当于@Controller,因此spring会在处理传入的网络请求时考虑它
2.@RequestMapping(“/”):告诉spring任何带有路径”/”的HTTP请求应该映射到home方法,然后@RestController会告诉spring将生成的
字符串直接返回给调用者
以上两个注释是spring mvc的注释
3.@EnableAutoConfiguration:告诉spring boot“猜测”将如何配置spring,基于添加的jar依赖,由于
spring-boot-starter-web添加了Tomcat和spring MVC,因此自动配置将假设正在开发一个web应用程序并相应地设置spring
此配置体现了spring boot的自动化配置优点
主方法:
应用程序的最后一部分是主(主)方法。
这只是一个遵循Java约定的应用程序入口点的标准方法main方法通过调用run来委托Spring Boot SpringApplication类。
SpringApplication将引导应用程序,启动Spring,从而启动自动配置Tomcat Web服务器。传递需要Example.class作为run方法的参数来告诉
SpringApplication,这是主要的弹簧组件。args数组也被传递以暴露任何命令行参数。
在此文件上(Example.java)右键run as启动项目后,如果打开浏览器访问http:localhost:8080
应该会看到:
hello world!
要正常退出应用程序,请按ctrl-c。
(3)希望创建一个可执行的jar/war,执行启动此项目
支持可执行的jar需要添加依赖spring-boot-maven-plugin:
在dependencies部分下面插入以下行:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
因为POM中spring-boot-starter-parent包括配置以绑定repackage目标。如果不使用父POM,则需要自己声明此配置。
命令行运行命令mvn package:
在target目录中,应该看到一个myproject-0.0.1-SNAPSHOT.jar。
文件文件大小应为10 Mb。左右如果想看里面内容,可以使用jar tvf:
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
贝壳
应该在target目录中看到一个名为myproject-0.0.1-SNAPSHOT.jar.original的文件。
这是Maven在Spring Boot重新打包之前创建的原始jar文件。
要运行该应用程序,请使用java -jar命令:
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar
如果打开浏览器访问http:localhost:8080
应该会看到:
hello world!
要正常退出应用程序,请按ctrl-c。