[Java] 用Spring Boot简化开发1
博客首页 » Java 用Spring Boot简化开发1
发布于 27 Jan 2016 09:42
标签 blog
Spring Boot已经成熟,可以简化maven依赖的编写,快速开发。
Spring Boot的好处是:
- 可以独立运行的 Spring 应用。
- 嵌入 Tomcat 或 Jetty 服务器,不需部署WAR。
- 提供基础 POM 文件简化 Maven 配置。
- 尽可能地根据项目依赖来自动配置 Spring 框架。
- 提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
- 没有代码生成,也没有 XML 配置文件。
Spring Boot中提供的组件是:
- spring-boot-starter 核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。
- spring-boot-starter-amqp 通过 spring-rabbit 支持 AMQP。
- spring-boot-starter-aop 包含 spring-aop 和 AspectJ 来支持面向切面编程(AOP)。
- spring-boot-starter-batch 支持 Spring Batch,包含 HSQLDB。
- spring-boot-starter-data-jpa 包含 spring-data-jpa、spring-orm 和 Hibernate 来支持 JPA。
- spring-boot-starter-data-mongodb 包含 spring-data-mongodb 来支持 MongoDB。
- spring-boot-starter-data-rest 通过 spring-data-rest-webmvc 支持以 REST 方式暴露 Spring Data 仓库。
- spring-boot-starter-jdbc 支持使用 JDBC 访问数据库。
- spring-boot-starter-security 包含 spring-security。
- spring-boot-starter-test 包含常用的测试所需的依赖,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
- spring-boot-starter-velocity 支持使用 Velocity 作为模板引擎。
- spring-boot-starter-web 支持 Web 应用开发,包含 Tomcat 和 spring-mvc。
- spring-boot-starter-websocket 支持使用 Tomcat 开发 WebSocket 应用。
- spring-boot-starter-ws 支持 Spring Web Services。
- spring-boot-starter-actuator 添加适用于生产环境的功能,如性能指标和监测等功能。
- spring-boot-starter-remote-shell 添加远程 SSH 支持。
- spring-boot-starter-jetty 使用 Jetty 而不是默认的 Tomcat 作为应用服务器。
- spring-boot-starter-log4j 添加 Log4j 的支持。
- spring-boot-starter-logging 使用 Spring Boot 默认的日志框架 Logback。
- spring-boot-starter-tomcat 使用 Spring Boot 默认的 Tomcat 作为应用服务器。
建立空Maven项目
<?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>example</groupId> <artifactId>spring-boot-simple</artifactId> <version>1.0-SNAPSHOT</version> --留空 </project>
添加spring-boot-starter-web依赖
<properties> <spring.boot.version>1.3.2.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>
添加repackage构建插件spring-boot-maven-plugin
<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>
添加代码
package examples; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration public class Application { @RequestMapping("/") String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
关键是以下Annotation
- @EnableAutoConfiguration - 启用自动配置
- @RestController - Spring MVC 控制器
- @RequestMapping("/") - Spring MVC URL映射
启动
执行命令
mvn spring-boot:run
后可以看到启动提示
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.3.2.RELEASE)
验证
执行简单的程序从localhost:8080取得结果
pip install pycurl; python -c " from pycurl import Curl; from cStringIO import StringIO; buf=StringIO(); c=Curl(); c.setopt(c.URL, 'http://localhost:8080/'); c.setopt(c.WRITEFUNCTION, buf.write); c.perform(); print buf.getvalue(); buf.close(); "
Hello World!
参考资料
使用 Spring Boot 快速构建 Spring 框架应用
http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/
本页面的文字允许在知识共享 署名-相同方式共享 3.0协议和GNU自由文档许可证下修改和再使用,仅有一个特殊要求,请用链接方式注明文章引用出处及作者。请协助维护作者合法权益。
系列文章
文章列表
- Java 用Spring Boot简化开发1
这篇文章对你有帮助吗,投个票吧?
留下你的评论