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

前言

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.
优点
1. 不用看那么一坨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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值