Spring Boot快速搭建Spring框架

栏目: Java · 发布时间: 8年前

内容简介:Spring Boot快速搭建Spring框架

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.linuxidc.com"; 

}     

public static void main(String[] args) throws Exception {

SpringApplication.run(Application.class, args);

}

}

Application.java类是一个简单的可以独立运行的 Web 应用。直接运行该 Java 类会启动一个内嵌的 Tomcat 服务器运行在 8080 端口。访问“http://localhost:8080”可以看到页面上显示“www.linuxidc.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 本身并没有关系的。

本文永久更新链接地址 http://www.linuxidc.com/Linux/2017-12/149792.htm


以上所述就是小编给大家介绍的《Spring Boot快速搭建Spring框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Development Recipes

Web Development Recipes

Brian P. Hogan、Chris Warren、Mike Weber、Chris Johnson、Aaron Godin / Pragmatic Bookshelf / 2012-1-22 / USD 35.00

You'll see a full spectrum of cutting-edge web development techniques, from UI and eye candy recipes to solutions for data analysis, testing, and web hosting. Make buttons and content stand out with s......一起来看看 《Web Development Recipes》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具