SpringBoot入门Demo

前言:相信做java后台编程的童鞋都知道Spring家族,Spring作为我们项目中必备的框架。JavaSpringBoot号称javaEE的颠覆者,这引起了本Y的好奇,这才花费了一点时间,学习了下spring-boot,其最大的优点就是摆脱了繁重的xml配置,一切趋于自动化配置。本篇博客就来探究一下spring-boot,其采用的IDE是intelj idea

本篇博文的目录:

一:使用intelj idea搭建springboot环境

1.1:在intelj idea的界面,选择new-Project,然后选择Spring Initializr,选择JDK版本为1.8.60(最好选择这个,防止出现jdk版本过低,导致兼容性错误),点击next

1.2:在新出的界面,输入自己的Group,这里的含义表示自己的包的结构,我习惯于用com.wyq,这个主要看个人习惯,Type默认的情况下Maven,我们将会采用Maven去管理我们的jar包,注意不要选择第二个,这里使用默认的即可

1.3:接下来的页面注意了,因为我们只是做一个简单的web项目,因此只需要选择Web就ok

1.4:接下来就到了项目的名字处,直接写项目的名字,这里直接起一个就好了,第一个项目,我们起名为Spring-boot-Hello,然后点击Finish

 

 1.5:完成之后,在Idea中会出现一个项目,并且jar包已经被maven下载好了,我们可以直接开始写了

 

二:第一个案例:Hello springBoot

2.1:DemoApplication这个类是自动生成的代码,它代表着springBoot的启动类,而@SpringBootApplication代表着这是一个SpringBoot应用,相当于加了一个标识,这里是最基础的代码,接下来我们来看一个简单的Hello world的实例,感受一下springboot的便捷之处。

package com.wyq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        
        SpringApplication.run(DemoApplication.class, args);
    }
}

 2.2:在原有的最基础代码上,我们来增加一些代码,熟悉springmvc的同学都知道@RequestMapping这个注解,它映射的是一个请求 ,其中括号里面的内容表示的是具体的请求

package com.wyq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication @RestController
//表示一个控制器 public class DemoApplication { @RequestMapping("hello") //映射hello请求 public String home(){ return "Hello SpringBoot"; } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

2.3:开始运spinghttboo项目,springboot是内置Tomcat的。所以不需要进行任何配置,直接运行就好了,类似于一个javaSE项目,然后看到Tomcat started on port 8080 http,这表示它起的是8080端口,在我们的浏览器其输入Http://localhost:8080/hello

然后在控制台上看到输出的内容,如果没有报错的话,就表示成功启动了

 

 2.4:访问Url,我们在浏览器上输入Http://localhost:8080/hello(这里需要注意SpringBoot不同与以往的SSH框架,是不需要写项目名的,格式为:http:ip:port/requesturl),浏览器就会出现Hello SpringBoot,这就完成一个Hello的小Demo

三:使用map作为返回值,我们来做一个测试,使用map作为参数,然后来请求一个url,可以看到这个方法对应的请求是maps

 @RequestMapping("maps")
    public Map mapAsReturn(){
        Map<String, String> map = new HashMap<String, String>();
        map.put("first","星期一");
        map.put("second","星期二");
        map.put("third","星期三");
        map.put("fourth","星期四");
        map.put("fifth","星期五");
        return  map;
    }

我们来运行一下程序,在浏览中直接输入http://localhost:8080/maps,可以看出它已经转化为标准的json格式,很方便吧,不用引入任何的json包

四:对象作为返回值

我们来新建一个方法,其中新建一个对象Person,然后给其设值,看一下它会返回什么

@RequestMapping("object")
    public Person ObjectAsReturn(){
        DateFormat df= new SimpleDateFormat("yyyy-mm-dd");

        Person person = new Person();

        person.setName("Yrion");

        person.setAge(24);

        try {
            person.setBirthday(df.parse("19930301"));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        person.setSex("男");

        return  person;
    }

我们来看一下在浏览器在中输入:http://localhost:8080/object,看它的返回结果是以json的形式出现的

 

备注:这里访问可能会出现错误页面:No converter found for return value of type:class xxxx

解决方法:报错的这个类必须得有setter/getter方法,其次在maven的pom文件里引入以下的jar包:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.7.3</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.3</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.23</version>
</dependency>

 

四:总结

  本篇博文只是SpringBoot的入门篇,做了一个简单的Hello SpringBoot的小项目,和以Map和某个对象作为返回值看其返回的 结果,主要目的是感受一下springBoot和我们平时使用的ssh框架的不同,体会它的优点。具体的原理没有作深入探究,这几天我正在研究,以后的博文会继续深入讲解springBoot的运行原理,谢谢。

 

posted @ 2017-08-26 00:53  Yrion  阅读(526)  评论(0编辑  收藏  举报