Spring Boot入门

来源:互联网 发布:tb包怎么样 知乎 编辑:程序博客网 时间:2024/06/06 00:56

简介

从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Spring 框架的应用。Spring Boot 会选择最适合的 Spring 子项目和第三方开源库进行整合。大部分 Spring Boot 应用只需要非常少的配置就可以快速运行起来。

Spring Boot 包含的特性如下:

  • 创建可以独立运行的 Spring 应用。
  • 直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。
  • 提供推荐的基础 POM 文件来简化 Apache Maven 配置。
  • 尽可能的根据项目依赖来自动配置 Spring 框架。
  • 提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
  • 没有代码生成,也没有 XML 配置文件。

通过 Spring Boot,创建新的 Spring 应用变得非常容易,而且创建出的 Spring 应用符合通用的最佳实践。只需要简单的几个步骤就可以创建出一个 Web 应用。下面介绍使用 Maven 作为构建工具创建的 Spring Boot 应用。代码清单 1 给出了该应用的 POM 文件。

清单 1. Spring Boot 示例应用的 POM 文件
<?xml version="1.0" encoding="UTF-8"?><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><groupId>com.midgetontoes</groupId><artifactId>spring-boot-simple</artifactId><version>1.0-SNAPSHOT</version><properties> <spring.boot.version>1.1.4.RELEASE</spring.boot.version></properties><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring.boot.version}</version> </dependency></dependencies><build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId><version>${spring.boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins></build></project>

从代码清单 1 中的 POM 文件中可以看到,应用所声明的依赖很少,只有一个“org.springframework.boot:spring-boot-starter-web”,而不是像其他 Spring 项目一样需要声明很多的依赖。当使用 Maven 命令“mvn dependency:tree”来查看项目实际的依赖时,会发现其中包含了 Spring MVC 框架、SLF4J、Jackson、Hibernate Validator 和 Tomcat 等依赖。这实际上 Spring 推荐的 Web 应用中使用的开源库的组合。代码清单 2 中给出了示例应用的 Java 代码。

清单 2. Spring Boot 示例应用的 Java 代码
@RestController@EnableAutoConfigurationpublic class Application { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); }}

代码清单 2 中的 Java 类 Application 是一个简单的可以独立运行的 Web 应用。直接运行该 Java 类会启动一个内嵌的 Tomcat 服务器运行在 8080 端口。访问“http://localhost:8080”可以看到页面上显示“Hello World!”。也就是说,只需要简单的 2 个文件就可以启动一个独立运行的 Web 应用。并不需要额外安装 Tomcat 这样的应用服务器,也不需要打包成 WAR 文件。可以通过“mvn spring-boot:run”在命令行启动该应用。在代码清单 1 中的 POM 文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。这在很大程度上简化了应用的部署,只需要安装了 JRE 就可以运行。

代码清单 2 中的“@EnableAutoConfiguration”注解的作用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,这就减少了开发人员的工作量。注解“@RestController”和”@RequestMapping”由 Spring MVC 提供,用来创建 REST 服务。这两个注解和 Spring Boot 本身并没有关系。

参考资料:https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples

转载:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/#resources


0 0
原创粉丝点击