- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
超级全面的 SpringBoot 注解介绍,每一个用途都应该清晰
一、注解(annotations)列表
1、@SpringBootApplication
包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让Spring Boot扫描到Configuration类并把它加入到程序上下文。
2、@ComponentScan
组件扫描,可自动发现和装配一些Bean。
3、@Configuration
等同于Spring的XML配置文件;使用Java代码可以检查类型安全。
4、@EnableAutoConfiguration
自动配置
5、@RestController
该注解是@Controller和@ResponseBody的合集,表示这是个控制器Bean,并且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。
6、@Autowired
自动导入。
7、@PathVariable
获取参数。
8、@JsonBackReference
解决嵌套外链问题。
9、@RepositoryRestResourcepublic
配合spring-boot-starter-data-rest使用。
二、注解(annotations)详解
1、@SpringBootApplication:申明让Spring Boot自动给程序进行必要的配置,这个配置等同于:@Configuration?,@EnableAutoConfiguration?和?@ComponentScan?三个配置。
import?org.springframework.boot.SpringApplication;import?org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication?//?same?as?@Configuration?@EnableAutoConfiguration?@ComponentScanpublic?class?Application?{????public?static?void?main(String[]?args)?{????????SpringApplication.run(Application.class,?args);????}}
2、@ResponseBody:表示该方法的返回结果直接写入HTTP Response Body中,一般在异步获取数据时使用,用于构建RESTful的api。
在使用@RequestMapping后,返回值通常解析为跳转路径,加上@ResponseBody后返回结果不会被解析为跳转路径,而是直接写入HTTP Response Body中。
比如异步获取json数据,加上@ResponseBody后,会直接返回json数据。
该注解一般会配合@RequestMapping一起使用。
示例代码:
@RequestMapping(“/test”)@ResponseBodypublic?String?test(){????return?”ok”;}
3、@Controller:用于定义控制器类,在spring?项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)
一般这个注解在类中,通常方法需要配合注解@RequestMapping。
搜索公众号后端架构师后台回复“架构整洁”,获取一份惊喜礼包。
示例代码:
@Controller@RequestMapping(“/demoInfo”)publicclass?DemoController?{????@Autowired????private?DemoInfoService?demoInfoService;????@RequestMapping("/hello")????public?String?hello(Map?map){????????System.out.println("DemoController.hello()");????????map.put("hello","from?TemplateController.helloHtml");????????//?会使用hello.html或者hello.ftl模板进行渲染显示.????????return"/hello";????}}
4、@RestController:用于标注控制层组件(如struts中的action),@ResponseBody和@Controller的合集。
示例代码:
import?
您可能关注的文档
- “12306”的架构到底有多牛逼?.docx
- 7 年 Java 后端被淘汰,一路北漂,一路心酸.docx
- 8年开发,一直不知道 Java为什么要加 final 关键字!.docx
- 10w 行级别数据的 Excel 导入优化记录 (2).docx
- 10w 行级别数据的 Excel 导入优化记录.docx
- 12 个顶级 Bug 跟踪工具(建议收藏).docx
- 12 个非常适合做私活或外包项目的开源后台管理系统.docx
- 19张图带你梳理SpringCloud体系中的重要技术点!.docx
- 47K Star 的SpringBoot+MyBatis+docker电商项目,附带超详细的文档!.docx
- 52条SQL语句性能优化策略,建议收藏.docx
文档评论(0)