Spring Boot <一> 初识了解

来源:互联网 发布:做非标刀具软件 编辑:程序博客网 时间:2024/06/08 09:16

  这段时间公司因为要拆分需求,所以就借此重新搭建了一个新框架,当然新框架的合成铁定是离不开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 */@RestControllerpublic 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的应用程序 */@SpringBootApplicationpublic 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。

1 0
原创粉丝点击