2.springboot初体验

先来一个最简单的演示,代码如下:

这段代码每个介绍springboot的都会有,不能算抄袭吧!!偷笑



启动类代码
@SpringBootApplication
public class Springboot04Application {
   public static void main(String[] args) {
      SpringApplication.run(Springboot04Application.class, args);
   }
}
 
controller代码
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello() {
        return "learning springboot";
    }
}
 手动分割线--------------------------------------------------- 
@RestController这个注解等于@Controller+@ResponseBody
使用这个注解的话返回的数据类型默认就是json格式了


注解源码
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
    String value() default "";
}
启动程序

启动日志   

第一个框中是我们的映射路径,以及springboot提供的默认error页面

第二个框是启动端口

springboot自带的默认错误页面

访问 hello


接下来分别测试springboot返回list  map  pojo对象

代码如下,

 

@RequestMapping("/pojo")
public Pojo pojo() {
    return new Pojo(15, "amy","girl");
}

@RequestMapping("/list")
public List list() {
    List list = new ArrayList();
    for (int i = 0; i < 10; i++) {
        list.add(new Pojo(i, "pojo" + i,"girl"));
    }
    return list;
}

@RequestMapping("/map")
public Map map() {
    Map map = new HashMap();
    for (int i = 0; i < 10; i++) {
        map.put(i, new Pojo(i, "pojo--" + i,"girl"));
    }
    return map;
}



测试结果



显示结果是因为使用了谷歌浏览器的Fe助手,可以自动格式化数据。

如果什么都没有的话显示的数据就是这种的 一长串的json格式的字符串

{"0":{"id":0,"name":"pojo--0","sex":"girl"},"1":{"id":1,"name":"pojo--1","sex":"girl"},
"2":{"id":2,"name":"pojo--2","sex":"girl"},"3":{"id":3,"name":"pojo--3","sex":"girl"},
"4":{"id":4,"name":"pojo--4","sex":"girl"},"5":{"id":5,"name":"pojo--5","sex":"girl"},
"6":{"id":6,"name":"pojo--6","sex":"girl"},"7":{"id":7,"name":"pojo--7","sex":"girl"},
"8":{"id":8,"name":"pojo--8","sex":"girl"},"9":{"id":9,"name":"pojo--9","sex":"girl"}}


在说一下应用启动的几种方式

第一种就是直接右键运行 启动类了

第二种使用java -jar的方式运行

使用maven install后会生成两个jar包

在命令行中 java -jar 按tab建会自动补全的 不要自己手敲找刺激偷笑

第三种使用mvn命令运行

mvn spring-boot:run


最后在补充一点 关于@RequestMapping

@GetMapping("/list")
    public List list() {
        List list = new ArrayList();
        for (int i = 0; i < 10; i++) {
            list.add(new Pojo(i, "pojo" + i, "girl"));
        }
        return list;
    }

    @PostMapping("/map")
    public Map map() {
        Map map = new HashMap();
        for (int i = 0; i < 10; i++) {
            map.put(i, new Pojo(i, "pojo--" + i, "girl"));
        }
        return map;
    }

映射时分别使用

@GetMapping  和  @PostMapping 表示限定请求方式 为get  和 post
这里使用谷歌浏览器的一个插件 restlet client 测试一下请求  (类似postman之类的工具,只不过restlet client 是内嵌在浏览器中的)

如果使用get方式请求map  则会报405错误  
所以controller中使用哪个方式映射就的使用哪种方式访问   get  post put delete等



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值