Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。
它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
Spring Boot 是 Spring 框架的一个新的子项目,用于创建 Spring 4.0 项目。它的开发始于 2013 年。2014 年 4 月发布 1.0.0 版本。它可以自动配置 Spring 的各种组件,并不依赖代码生成和 XML 配置文件。Spring Boot 也提供了对于常见场景的推荐组件配置。Spring Boot 可以大大提升使用 Spring 框架时的开发效率。下面本文将对 Spring Boot 进行详细的介绍。
Spring Boot 包含的特性如下:
1、创建可以独立运行的 Spring 应用。
2、直接嵌入 Tomcat 或 Jetty 服务器,不需要部署 WAR 文件。
3、提供推荐的基础 POM 文件来简化 Apache Maven 配置。
4、尽可能的根据项目依赖来自动配置 Spring 框架。
5、提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
6、没有代码生成,也没有 XML 配置文件。
新建Maven功能,将下面代码直接复制到pom.xml中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<? 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.example</ groupId > < artifactId >SpringBootSimple</ 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 > |
从上面pom.xml文件中可以看到应用所声明的依赖很少,只有一个“org.springframework.boot:spring-boot-starter-web”,而不是像其他 Spring 项目一样需要声明很多的依赖。
当使用 Maven 命令“mvn dependency:tree”来查看项目实际的依赖时,会发现其中包含了 Spring MVC 框架、SLF4J、Jackson、Hibernate Validator 和 Tomcat 等依赖。这实际上 Spring 推荐的 Web 应用中使用的开源库的组合。
调用Spring Boot应用Java代码,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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 index() { return "www.yoodb.com" ; } public static void main(String[] args) throws Exception { SpringApplication.run(Application. class , args); } } |
Application.java类是一个简单的可以独立运行的 Web 应用。直接运行该 Java 类会启动一个内嵌的 Tomcat 服务器运行在 8080 端口。访问“http://localhost:8080”可以看到页面上显示“www.yoodb.com”.只需要简单的2个文件就可以启动一个独立运行的 Web 应用。并不需要额外安装 Tomcat类似的应用服务器,也不需要打包成WAR文件。可以通过“mvn spring-boot:run”在命令行启动该应用。
在pom.xml文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。很大程度上简化了应用的部署,只需要安装了 JRE 就可以运行。
"@EnableAutoConfiguration”注解的作用在于让 Spring Boot 根据应用所声明的依赖来对Spring框架进行自动配置,减少了开发人员的工作量。注解“@RestController”和"@RequestMapping”由Spring MVC 提供,用来创建REST服务。这两个注解和 Spring Boot 本身并没有关系的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.yoodb.com/yoodb/article/detail/297