zoukankan      html  css  js  c++  java
  • 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的运行原理,谢谢。

  • 相关阅读:
    eclipse中使用git
    获取系统的联系人信息
    Android中调用百度地图
    shell脚本等的操作
    shell与变量的声明的操作
    文件的基本操作命令
    Android实战_来电拦截专家
    linux c学习笔记----进程创建(fork,wait,waitpid)
    2.2.1 MySQL基本功能与参数文件管理
    2.3.6 Federate 远程访问数据库
  • 原文地址:https://www.cnblogs.com/wyq178/p/7421018.html
Copyright © 2011-2022 走看看