一、初始

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

  ②、然后编写Controller

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

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

  然后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”))

 package com.zbb;

 ...

 @Configuration
@EnableAutoConfiguration
@ComponentScan
public class AppMain {
public static void main(String[] args){
SpringApplication.run(AppMain.class);
}
}

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

最新文章

  1. 在VS2010配置MPI--win7下64位系统
  2. VS经常报错的link error 2019
  3. zabbix (一:zabbix服务端)
  4. Winform Krypton控件使用(一)
  5. 解决Cygwin中vim的backspace不能正常使用(转)
  6. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)
  7. 命令行调试smali
  8. OSG开发概览(转载)
  9. bzoj 4870: [Shoi2017]组合数问题
  10. Selenium 3 没办法启用指定的Firefox Profile
  11. 看到了必须要Mark啊,最全的编程中英文词汇对照汇总(里面有好几个版本的,每个版本从a到d的顺序排列)
  12. php弹出式登录窗口并获得登录后返回值
  13. VS编写一个项目的路径规划
  14. html的基本语法
  15. Practice1小学四则运算
  16. kafka集群安装,配置
  17. labview如何生成可执行文件
  18. when an event of selector will be fired
  19. 撩妹技能 get,教你用 canvas 画一场流星雨
  20. thinkPHP 上传文件的中文乱码

热门文章

  1. 解决&quot;No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android&quot;错误
  2. Java网络编程学习A轮_08_NIO的Reactor模型
  3. 手写DCGAN
  4. restframework api(基础3CBV)
  5. JavaScript基本概要
  6. JSONP、CORS解决跨域问题
  7. 简单CSS3代码实现立方体以及3D骰子
  8. ASP.NET MVC 使用NPOI导出Excel 无法访问已关闭的流(转)
  9. 关于CSS:transform、transition的运用
  10. PTA编程总