1. 什么是SpringBoot?
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域(rapid
application development)成为领导者。–摘自百度百科
2. 为什么现在用SpringBoot?
1. 创建独立的 Spring 应用程序
2. 嵌入的 Tomcat,无需部署 WAR 文件
3. 简化 Maven 配置
4. 自动配置 Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6.开箱即用,没有代码生成,也无需 XML 配置。
3. Spring Boot特性理解
1.为基于 Spring 的开发提供更快的入门体验
2.开箱即用,没有代码生成,也无需 XML 配置。同时也可以修改默认值来满足特定的需求。
3.提供了一些大型项目中常见的非功能特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
4.Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式。
4. SpringBoot环境搭建
学习一个东西的第一步是要学会如何迅速搭建起来一个可用的环境,也就是 demo.这里我选择的开发环境是 Eclipse,
Maven + Spring Web 项目结构在 Eclipse 下面的实现
我们在这里所要实现的关键就是如何保证 Maven 规定的目录结构。 这里对于 Maven 的目录结构做一个简单的说明:
src/main /Java src/main/resources
第一步:在 Eclipse 下面配置 Maven 环境: 略
第二步: 构建 Maven+spring web 项目 :
1.打开 Eclipse,选择新建 Maven Project,
2.然后利用向导分别建立一个 webapp 项目和 quickStart 项目
在新建的过程中会要设置要设置几个东西 groupId = cn.springbooot artifactId =SpringBootFrist ,剩下的设置就用默认的就可以了。
3.然后是将 webapp 项目下面的 WebApp 目录复制到 quickstart 项目之中,最后在在 SpringBootFirst 工程下面新建一个 src/main/resources 目录来配合 Maven 的目录结构。这样最后形成的 SpringBootFirst 工程就已经基本实现了整体的框架。
Spring boot 实现简单的 RestFul 项目
在 Spring 的官网中有关于 SpringBoot 的介绍 http://projects.spring.io/spring-boot/ 。
在 Spring Boot 中为了简化在 Spring 开发中所需要的繁杂的配置文件的处理,对于这些配置进行了轻量级封装。我们在使用 Spring Boot 进行开发的时候,需要关注很少的配置方面的问题,从而更多精力在业务逻辑上面。
第一步: pom.xml 配置文件的设置
Boot 提供了许多的“starter”模块,它们定义了一组依赖,这些依赖能够添加到构建系统之中,从而解析框架及其父平台所需的特定类库。例如,spring-boot-starter-actuator 依赖会引入一组基本的 Spring 项目,从而实现应用的快速配置和即时可用。关于这种依赖,值得强调的一点就是当开发 Web 应用,尤其是 RESTful Web 服务的时候,如果包含了 spring-boot-starter-web 依赖,它就会为你提供启动嵌入式Tomcat 容器的自动化配置,并且提供对微服务应用有价值的端点信息,如服务器信息、应用指标(metrics)以及环境详情。除此之外,如果引入 spring-boot-starter-security 模块的话,actuator 会自动配置 Spring Security,从而为应用提供基本的认证以及其他高级的安全特性。它还会为应用结构引入一个内部的审计框架,这个框架可以用来生成报告或其他的用途,比如开发认证失败的锁定策略。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <dependencies> <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>
上面这个是实现 Spring Boot 中 web 服务最基本的配置,写在 pom.xml 中就可以了。
第二步:编写 Java 代码
首先我将 Spring Boot 官方所给的代码例子贴在下面,以此说明,在 Spring Boot 的项目运行,部署和发布,我们需要的东西不是很多。
package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
将上述的代码放入 SpringBootFirst 工程的 src/main/java 目录下面,进行运行,再在浏览器中输入http://localhost:8080/ ,我们就能看到“Hello,World”了。
在 Spring 官网GUIDES 目录下有很多的小 demo,用非常简洁精炼的例子来进行说明某些特性。这里以其中的第一个项目也就是 Building a RESTful Web Service 项目来进行说明,我们只需要将源码下载下来,再把 src/main/java 中的代码复制到 SpringBootFirst 项目的 src/main/java 目录下面就可以了。
偷懒的快速构建 Spring Boot 方法
在 Spring 官网中http://spring.io/guides/gs/sts/有这么一个东西,我们在 Eclipse 中可以进行配置。然后就可以使用官网中介绍的方法快速导入一个项目进行学习。