[TOC]

启动类上的注解

@SpringBootApplication这个注解会在SpringBoot启动类上。这个注解实际上蕴含3个注解@SpringBootConfiguration,@EnableAutoConfiguration@ComponentScan
  • @SpringBootConfiguration继承@Configuration两个注解的性能一样。也就是标注以后类是配置类。会将以后类中申明的一个或者多个@Bean注解标记的办法的实例注入到Spring容器中。实例名就是对象名。
  • @EnableAutoConfigurationSpringBoot的主动配置注解。能够将符合条件的@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/jsontext/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注解取的参数是我的项目中解析进去的。不是从前端传过来的。能够通过ModeAttributeHandlerInterceptor中预存。

@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/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开发手册