Spring Boot (一) 初识了解

  这段时间公司因为要拆分需求,所以就借此重新搭建了一个新框架,当然新框架的合成铁定是离不开spring了,不过spring的各种配置文件,多亏是了解的差不多,能够互相变通的配置,度过了一大难关。天天和spring框架打交道,比如,SpringMVC,springData,springCloud,以及我们今天了解的springBoot,等都是我们较常用的框架。虽然spring是我们最喜欢的框架之一,但是随着新技术飞速发展,脚本横行霸道的时代,尤其是spring繁琐的xml融入以及配置以及与第三方框架的各种整合问题,已经在燃烧了程序员们的耐心,或许这就是spring团队开发springBoot的初音吧,初恋纵然好,但是现任也不错,就看大家乐不乐意更换新女友了。不管更不更换,先是对新成员进行一下基本的了解吧。

什么是spring boot?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring boot的特性直白理解
为基于spring的开发提供更快的入门体验;开箱即用,无代码生成,也无需XML配置;springboot并非是spring的功能增强,而仅仅是对spring使用上的一种简化。

Spring boot的实例讲解

环境准备
1、idea开发环境,我使用的idea开发;
2、配置jdk,版本,必须大于或者等于1.7,我使用的1.7;
3、如果使用的idea开发,则默认有maven配置;如果使用eclipse系列的话,还需配置maven 3.0+;


pom文件引入对应的maven依赖

<?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.springBoot</groupId>
    <artifactId>spring-boot-hello</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--springBoot父节点依赖,引入这个之后相关的引用就不需要加version配置,spring boot会自动选择最合适的版本进行添加-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <!--spring-boot-starter-web,MVC,AOP的依赖包....-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.15</version>
        </dependency>

    </dependencies>

</project>

建立类HelloController类以及APP类

package springboot;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

/**
 * Create with IntelliJ IDEA
 * User: huoyajing
 * Date: 2017/4/27
 * Time: 14:57
 * To change this template use File | Settings | File Templates.
 */

/**
 * @RestController等价于@Controller和@RequestBody
 */
@RestController
public class HelloController {

    /**
     * 我们使用RequestMapping建立请求映射
     * http://127.0.0.1:8080/hello
     * @return
     */
    @RequestMapping("/Hello")
    public String hello(){
        return "hello";
    }

}
package springboot;

import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.support.config.FastJsonConfig;
import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import java.util.ArrayList;
import java.util.List;

/**
 * Create with IntelliJ IDEA
 * User: huoyajing
 * Date: 2017/4/27
 * Time: 15:14
 * To change this template use File | Settings | File Templates.
 */

/**
 * 在这里使用 @SpringBootApplication,来证明这是spring boot的应用程序
 */
@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

直接右击,直接main方法则可以看到成功.


在执行的过程中,遇到了一个错误,导致执行失败,错误原因如下:
error

这到底是因为什么原因导致的呢?主要就是自己没有创建 文件夹,解决办法,直接配置一个路径,放置即可解决问题,如下图:
解决
问题解决之后,用浏览器页面执行成功效果:
success


一个pom文件,两个依赖,几行代码就这样形成了一个小程序。对于spring boot而言,其实起到作用的依旧是spring的老方式,通过各种注解实现共通。

  • 从app类的main方法入口分析起,SpringApplication是Spring Boot框架中描述Spring应用的类,通过run方法实现了spring的上下文;除此之外,它会自动扫描当前应用类上的依赖。对spring-boot-starter-web的maven依赖,可以满足我们,MVC,AOP的依赖包…..。对于spring
    boot而言,他会给我们判断这是一个web应用,并启动一个Servlet来处理http请求。
  • @RestController是一种特殊的Controller,Servlet容器会将其收到的http请求根据路径分发给对应的@RestController进行处理,然后将返回值作为HTTP
    Response的Body返回值返回给浏览器。
  • @RequestMapping就是建立了一个请求映射,表明该方法处理那些URL对应的HTTP请求。
    我们可以完全通过@RequestMapping匹配多个URL,实现不同的功能。

这样一个简单的spring boot框架就搭建完工了,由它带领我们走入神奇的spring boot。

posted on 2017-04-29 11:37  huohuoL  阅读(159)  评论(0编辑  收藏  举报

导航