[TOC]
启动类上的注解
@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
value,method@RequestMapping
用来处理请求地址映射的注解。可以声明在类或者方法上。用在类上表示所有的请求的父路径。
@RequestMapping
注解有6个属性
- value 请求的方法
- method 请求的类型,GET,POST,PUT,DELETE
- consumes 指定可以处理请求数据的类型。如:
application/json
和text/html
- produces 指定返回数据的类型。只有当request请求头Accept字段中包含此类型,才返回数据
- params 指定request中包含某些参数值,才处理。
- headers 指定request请求头包含header值,才处理。
@RequestBody
和@ResponseBody
@RequestBody
会将request请求头中的body转换成string字符串类型。这个注解会出现在请求方法的参数上
@ResponseBody
会将Map对象转化成json格式输出到HTTP中,这个注解会出现在请求的方法上。
@PathVariable
,@RequestParam
,@ModelAttribute
,@RequestAttribute
@PathVariable
@RequestMapping(value = "https://www.it610.com/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
它是一个通用注解,,不属于@Configuration@Controller
和@Service
的组件,我们就可以用
@Componment
。它可以标注这个类被Spring容器管理。
@Configuration
标注在类上,配置spring容器(应用上下文)。相当于把该类作为spring的xml配置文件中的。
@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/spr...
- Gitee:https://gitee.com/rumenz/spri...
- https://rumenz.com/rumenbiji/...
介绍
- 我的博客 https://rumenz.com/
- 我的工具箱 https://tooltt.com/
- 微信公众号:【入门小站】
文章图片
- 关注【入门小站】回复【1001】获取 linux常用命令速查手册
- 关注【入门小站】回复【1003】获取 LeetCode题解【java语言实现】
- 关注【入门小站】回复【1004】获取 Java基础核心总结
- 关注【入门小站】回复【1009】获取 阿里巴巴Java开发手册
推荐阅读
- 第四节:SpringBoot中web模版数据渲染展示
- SpringBoot2022【草稿】
- 聊聊springboot项目全局异常处理那些事儿
- 第一节:创建SpringBoot项目并运行HelloWorld
- springboot管理系统[基于员工角色和文件权限的分级的后台管理系统源码]
- SpringBoot之@ComponentScan和@SpringBootApplication扫描覆盖问题
- mybatis|记mybatis查询null字段导致的NPE
- SpringBoot|SpringBoot 整合 druid数据源
- springboot项目配置application添加图片映射 (windows and linux 都可使用)