SpringBoot入门(1)

一、初始

  ①、首先还是要创建一个maven工程

  ②、然后编写Controller

  让SpringBoot跑起来并不需要太多的代码,就能实现了我们平时要配置很多的功能,这是怎么做到的呢?我们就下面一个入门类,做一个解释。

 1 @RestController//注解:其实就是@Controller和@ResponseBody注解加在一起
 2 //@Controller//告诉spring这个类是控制器
 3 @EnableAutoConfiguration//开启自动配置
 4 @RequestMapping(value = "/user")//配置请求路径
 5 public class UserController {
 6     /**
 7      * Get请求
 8      * 输出JSON
 9      */
10     //@ResponseBody//该方法的返回结果直接写入 HTTP response body 中,比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。
11     @RequestMapping(value = "/list",method = RequestMethod.GET)//请求路径和声明过来的是get请求
12     public Map<String, Object> user(){
13         HashMap<String, Object> dataMap = new HashMap<String, Object>();
14         dataMap.put("username","贱小提莫");
15         dataMap.put("userage","18");
16         return dataMap;
17     }
18 
19     public static void main(String[] args){
20         //SpringBoot 里面的方法,把当前对象给SpringBoot去托管,运行(自带tomcat)
21        //和springmvc不一样的地方,还要注意一个是 在上面加上自动配置的注解
22         SpringApplication.run(UserController.class);
23     }
24 }

  然后run,就跑起来了

 

二、相关注解和方法说明

  代码里面其实也有写相应的注释,但是在这边就再详细的说一下

@RestController

  这里我们先进入它的源码,发现

    

 

  它上面加了@Controller和ResponseBody注解,说明它同时拥有这2注解的功能,@Controller注解表示后,该类将会被spring管理,@ResponseBody注解标识后,响应数据可以是文本或者JSON数据类型。所以这里我们return map的时候,可以直接输出JSON数据。当然@RestController注解属于springmvc的,并不属于springboot的。

@EnableAutoConfiguration注解

  这个注解告诉 SpringBoot 根据添加的 jar 依赖,猜测你会如何配置 Spring 。在Idea打开jar包的依赖关系图我们可以发现 spring-boot-starter-web 下添加了 Tomcat 和 SpringMVC,所以auto-configuration 将假定你正在开发的一个web应用并相应的对spring进行设置。

main方法

  我们的 main 方法通过调用 run,将业务委托给了 SpringBoot 的 SpringApplication类。SpringApplication 将引导我们的应用,启动 Spring,相应的启动被自动配置的 Tomcat web 服务器。我们需要 Example.class 作为参数传递给 run 方法来告诉SpringApplication谁是主要的 Spring 组件。

三、关于 SpringBoot 的启动

  上面的例子,我们是把 main 方法,写到了 UserController 这个类里面,但是有时候我们要加载更多的一些类和方法呢。—— 在它们的上级文件夹中写一个 AppMain,作为一个启动类。(不在上级文件夹也可以,在@Componentscan这个注解后面指定扫描的包名(value=“com.zbb”))

 1 package com.zbb;
 2 
 3 ...
 4 
 5 @Configuration
 6 @EnableAutoConfiguration
 7 @ComponentScan
 8 public class AppMain {
 9     public static void main(String[] args){
10         SpringApplication.run(AppMain.class);
11     }
12 }

  可以看到,这里的包名是 “com.zbb” , 而 UserController 我们是放在了 “com.zbb.controller” 里面。依然能启动成功,并且访问成功“/user/list”的方法。

posted @ 2018-03-26 15:35  贱小提莫  阅读(184)  评论(0编辑  收藏  举报