一文教你如何快速搭建Spring框架

    2017-10-17 11:27  浏览次数:327

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中:

<?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代码,具体如下:

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 本身并没有关系的。

[ 作者:素文宅 ]


近期公开课

官方微博 官方微博
官方微信 官方微信

联系我们

购买:sales@evgetedu.com

意见与建议: service@evgetedu.com

Tel:400-700-1020(免费)

023-66090381(重庆总部)

地址:重庆市高新区陈家坪帝豪名都31楼