zoukankan      html  css  js  c++  java
  • 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.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 本身并没有关系的。

  • 相关阅读:
    格子刷油漆【动态规划问题】—NYOJ 980
    Throughput Controller
    CSV Data Set Config 详细使用说明
    nmap使用笔记
    记三个有趣的漏洞
    Windows添加右键新增.md文件
    文件上传绕过WAF
    bypass_safedog
    漏洞挖掘之爆破的艺术
    特殊后缀上传(为什么用白名单不用黑名单)
  • 原文地址:https://www.cnblogs.com/peke/p/8092578.html
Copyright © 2011-2022 走看看