一、注解(annotations)列表

@SpringBootApplication:

包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。

@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。

@EnableAutoConfiguration 自动配置。

@ComponentScan 组件扫描,可自动发现和装配一些Bean。

@Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。

@RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。

@Autowired自动导入。

@PathVariable获取参数。

@JsonBackReference解决嵌套外链问题。

@RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。

二、注解(annotations)详解

@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。

package com.example.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。示例代码:

@RequestMapping(“/test”)
@ResponseBody
public String test(){
return”ok”;
}

@Controller:用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),一般这个注解在类中,通常方法需要配合注解@RequestMapping。示例代码:

@Controller
@RequestMapping(“/demoInfo”)
publicclass DemoController {
@Autowired
private DemoInfoService demoInfoService; @RequestMapping("/hello")
public String hello(Map<String,Object> map){
System.out.println("DemoController.hello()");
map.put("hello","from TemplateController.helloHtml");
//会使用hello.html或者hello.ftl模板进行渲染显示.
return"/hello";
}
}

@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。

最新文章

  1. 字符串匹配算法 - KMP
  2. JSON数据的定义
  3. SublimeText2 快捷键一览表
  4. [转]史上最全的CSS hack方式一览
  5. Java容器之旅:容器基础知识总结
  6. event 内存泄漏
  7. UILabel 的高度根据文字内容调整
  8. OpenStack overview 笔记
  9. 【转】mysql忘记root密码的解决方法
  10. Android模拟器disconnected问题
  11. Java 集合系列 13 WeakHashMap
  12. QPS
  13. poj 2187
  14. IOS中设置cell的背景view和选中时的背景view 、设置cell最右边的指示器(比如箭头\文本标签)
  15. Linq 合并数据并相加
  16. SQL中的模糊查询
  17. 向量的叉积 POJ 2318 TOYS &amp; POJ 2398 Toy Storage
  18. HDU 1045(Fire Net)题解
  19. groovy install,gvm,groovysh简述(转)
  20. vue 2.0 使用replace时要点击路由多次才能返回

热门文章

  1. 设置多个系统---vue-el-admin
  2. Flutter 耗时监控 | 路由名为空原因分析
  3. 【分析笔记】全志方案通过命令行操作 GPIO 口(带源码分析)
  4. sync.Once 使用及解析
  5. IDEA本地运行无法找到scope为provided的包
  6. 通过Nacos配置刷新进行RabbitMQ消费者在线启停
  7. TEB学习
  8. JS逆向实战11——某金属集团动态cookie加密
  9. Centos7作为VNCserver,本地使用VNCViewer连接
  10. ctfshow_web入门 命令执行