美文网首页我爱编程
Spring Boot学习之旅:(一)HELLO WORLD

Spring Boot学习之旅:(一)HELLO WORLD

作者: 意浅离殇 | 来源:发表于2017-10-15 21:22 被阅读0次

    前言

    Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备。

    正文

    首先声明,Spring Boot不是一门新技术,所以不用紧张。从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

    **Spring Boot精要
    **
    Spring将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。

    自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

    起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

    命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

    Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。

    详细的我们就不展开,等你爱上后自然会去深入的了解,后续章节我们会一一展开介绍。接下来让我们开搞吧。我已经迫不及待的要尝尝Spring Boot的味道了。

    系统要求

    目前Spring Boot正式版为1.5.6.RELEASE默认情况下,Spring Boot 1.5.6.RELEASE 需要Java 7和Spring Framework 4.3.11.RELEASE或更高版本,你也可以使用Spring Boot with Java 6和一些额外的配置(不建议),使用Maven(3.2+)或Gradle 2(2.9或更高版本)和3来构建。

    虽然你可以使用Java 6或7的Spring Boot,但我们通常推荐Java 8。

    所以本博客系列统一使用Java 1.8,Spring Boot 1.5.1.RELEASE以及Maven3.3.9版本。开发工具使用eclipse

    优缺点
    先说缺点吧

    1. 坑有些多, 文档略少, 特别是一些JavaConfig相关的东西, 比如上面某个答案说的加载逻辑抽风的问题, 用 @DependsOn注解应该就能搞定 (但就是网上死活搜不到)2. 版本迭代速度很快(大雾, 这个其实算是优点, 说明很火), 一些模块改动很大, 比如 springboot-test的1.3.5 vs 1.4.
      优点
    2. 不用看那么一坨xml真的很神清气爽啊。。用javaconfig可以让你很容易明白一些框架的关键2. springboot 要解决的问题, 精简配置是一方面, 另外一方面是如何方便的让spring生态圈和其他工具链整合(比如redis, email, elecsearch)

    光速入门-开发一个Web服务

    没有比较就没有伤害,让我们先看看传统Spring MVC开发一个简单的Hello World Web应用程序,你应该做什么,我能想到一些基本的需求。

    1.一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构建文件,最起码要有Spring MVC和Servlet API这些依赖。

    2.一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet。

    3.一个启动了Spring MVC的Spring配置

    4.一控制器类,以“hello World”相应HTTP请求。

    5.一个用于部署应用程序的Web应用服务器,比如Tomcat。

    最让人难以接受的是,这份清单里面只有一个东西是和Hello World功能相关的,即控制器,剩下的都是Spring开发的Web应用程序必需的通用模板。

    接下来看看Spring Boot如何搞定?

    很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目具体步骤如下打开eclipse 创建一个maven project 如下图:

    这里写图片描述

    点击next 下一步填写groupId artifactId 如下图:


    这里写图片描述

    点击finish 就完成了 项目的创建目录如下图:


    这里写图片描述
    如你所见,项目里面基本没有代码,除了几个空目录外,还包含如下几样东西。
    pom.xml:Maven构建说明文件。
    
    App.java:一个带有main()方法的类,用于启动应用程序(关键)。
    application.properties:一个空的properties文件,你可以根据需要添加配置属性。
    

    下面填写pom .xml 给项目添加相应的依赖

    <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.wen</groupId>
      <artifactId>boot</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>boot</name>
      <url>http://maven.apache.org</url>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.6.RELEASE</version>
        </parent>
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- jdk  版本    -->
        <java.version>1.8</java.version>
      </properties>
    
      <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 由于在上面指定了parent   再引入springboot   相关jar  
            
            会自动引入合适的版本不需要 version-->
        </dependency>
      </dependencies>
    </project>
    

    接下来写一个controller 测试一下helloword

    package com.wen.boot.controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    /** 
    * @author 作者 cxhc
    * @version 创建时间:2017年9月21日 下午10:05:49 
    */
    @RestController
    @RequestMapping("/hello")
    public class HelloContreller {
        @RequestMapping("/index.do")
        public String helloPage() {
            return "hello world!!!";
        }
    }
    

    RestController 可以理解为 Controller和responseBody 的合体。
    接来下编写启动类代码如下:

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    /**
     * Hello world!
     */
    @SpringBootApplication//标注这个是一个springboot  的引用程序
    public class App 
    {
        public static void main( String[] args )
        {
            SpringApplication.run(App.class,args);
            System.out.println( "Hello World!" );
        }
    }
    

    点击绿色播放按钮启动程序

    这里写图片描述
    当我们看到hello world 代码启动成功了
    这里写图片描述
    打开浏览器输入 http://localhost:8080/hello/index.do
    这里写图片描述
    总结:
    总体来说创建一个工程 填写依赖,添加一个控制类,启动就能看到效果了。
    博客地址:http://www.haha174.top/article/details/259962
    项目源码:https://github.com/haha174/boot
    推荐一篇文章: http://mp.weixin.qq.com/s/fEfeYffkHkA_RzPOg8P76Q

    相关文章

      网友评论

        本文标题:Spring Boot学习之旅:(一)HELLO WORLD

        本文链接:https://www.haomeiwen.com/subject/xofhuxtx.html