网站首页 > 技术文章 正文
启动类上的注解
@SpringBootApplication这个注解会在SpringBoot启动类上。这个注解实际上包含3个注解@SpringBootConfiguration,@EnableAutoConfiguration和@ComponentScan
- @SpringBootConfiguration继承@Configuration两个注解的功能一样。也就是标注当前类是配置类。会将当前类中声明的一个或者多个@Bean注解标记的方法的实例注入到Spring容器中。实例名就是对象名。
- @EnableAutoConfiguration是SpringBoot的自动配置注解。可以将符合条件的@Configuration加载到SpringBoot,并生成对应配置类的Bean,加载到Srping容器。
- @ComponentScan扫描当前包和子包下被@Component,@Controller,@Service,@Respository注解的类并注入到Spring容器。
前端控制器
@Controller
@Controller注解在类上,表示这是一个控制层bean。
@RestController
@RestController注解在类上,表示这是一个控制层bean,相当于@ResponseBody和·@Controller的组合注解。使用此注解无法返回jsp,html页面,InternalResourceViewResolver不起作用。返回的内容就是return的内容。
@RequestMapping
@RequestMapping用来处理请求地址映射的注解。可以声明在类或者方法上。用在类上表示所有的请求的父路径。
@RequestMapping注解有6个属性
value,method
- value 请求的方法
- method 请求的类型,GET,POST,PUT,DELETE
consumes,produces
- consumes 指定可以处理请求数据的类型。如:application/json和text/html
- produces 指定返回数据的类型。只有当request请求头Accept字段中包含此类型,才返回数据
params,headers
- params 指定request中包含某些参数值,才处理。
- headers 指定request请求头包含header值,才处理。
@RequestBody和@ResponseBody
@RequestBody
会将request请求头中的body转换成string字符串类型。这个注解会出现在请求方法的参数上
@ResponseBody
会将Map对象转化成json格式输出到HTTP中,这个注解会出现在请求的方法上。
@PathVariable,@RequestParam,@ModelAttribute,@RequestAttribute
@PathVariable
@RequestMapping(value = "/index7/{id}",method = RequestMethod.GET)从请求的URI中提取id。
@RequestParam
从请求头中获取参数
@RequestAttribute ,@ModelAttribute
@RequestAttribute注解取的参数是项目中解析出来的。不是从前端传过来的。可以通过ModeAttribute或HandlerInterceptor中预存。
@ModelAttribute
- 用在方法参数注解上,可以接收前端参数,但是要求数据格式是x-www-form-urlencoded
- 用在方法上可以预存属性值。
@GetMapping
GetMapping注解已经默认封装了@RequestMapping(method = RequestMethod.GET)
@PostMapping
PostMapping注解已经默认封装了@RequestMapping(method = RequestMethod.POST)
@GetMapping和@PostMapping要配合@RestController使用,否则会报404。
服务层
@Service注解在类上,标注这是一个服务层
持久层
@Repository 注解于类上,表示于持久层
配置
@Component
它是一个通用注解,不属于@Controller和@Service的组件,我们就可以用
@Componment。它可以标注这个类被Spring容器管理。
@Configuration
@Configuration标注在类上,配置spring容器(应用上下文)。相当于把该类作为spring的xml配置文件中的<beans>。@Configuration注解的类中,使用@Bean注解标注的方法,返回的类型都会直接注册为bean。@Configuration注解基于@Component,所以他们的功能是一样的,但是意义有所不同。
@Bean
该注解在该类的方法上,AnnotationConfigApplicationContext将配置类中标注了@Bean的方法的返回值识别为Spring Bean,并注册到容器中,归入IoC容器管理。
依赖注入
@Autowired
默认是按照类型注入的(属于Sping的注解),默认情况下要求被依赖的对象必须存在,如果要允许null值,可以设置它的required属性为false(@Autowired(required=false) )
@Resource
默认根据名称进行依赖注入(属于J2EE的注解),默认情况下根据名称注入,名称可以通过name属性进行指定,如果没有指定name属性,默认取字段名进行安装名称查找.
@Qualifier
这个是Spring中的一个注解,如果有多个类型相同的Bean,就可以使用@Qualifier依据名字区分注入。
@Value
通过@Value将配置文件中定义的值注入到Bean中
本小结源码地址:
- GitHub:https://github.com/mifunc/springboot/tree/main/lession5
- Gitee:https://gitee.com/rumenz/springboot/tree/master/lession5
- https://rumenz.com/rumenbiji/springboot-annotation.html
介绍
- 我的博客 https://rumenz.com/
- 我的工具箱 https://tooltt.com/
- 微信公众号:【入门小站】
猜你喜欢
- 2024-10-21 Spring Boot中添加Thymeleaf模板 springboot 添加filter
- 2024-10-21 Spring Boot 的静态资源处理 springboot静态资源配置
- 2024-10-21 Spring Boot 系列@ControllerAdvice 拦截异常并统一处理
- 2024-10-21 Spring Boot 入门教程 | 图文讲解
- 2024-10-21 牛刀小试——五分钟入门Spring Boot
- 2024-10-21 我教你初识SpringBoot——写HelloWorld
- 2024-10-21 Springboot静态资源的访问 springboot2.0静态资源
- 2024-10-21 每日分享- springboot 微服务项目如何集成 html
- 2024-10-21 11:SpringBoot整合JavaMail实现邮件发送功能
- 2024-10-21 SpringBoot中异步请求和异步调用(看这一篇就够了)
你 发表评论:
欢迎- 11-18软考系统分析师知识点十六:系统实现与测试
- 11-18第16篇 软件工程(四)过程管理与测试管理
- 11-18编程|实例(分书问题)了解数据结构、算法(穷举、递归、回溯)
- 11-18算法-减治法
- 11-18笑疯了!巴基斯坦首金!没有技巧全是蛮力!解说:真远啊!笑死!
- 11-18搜索算法之深度优先、广度优先、约束条件、限界函数及相应算法
- 11-18游戏中的优化指的的是什么?
- 11-18算法-分治法
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)