本文的内容
显示
1.
一.核心说明
2.
2.Spring MVC和REST注释
3.
三。Spring Boot笔记
4.
四。刻板印象笔记
5.
动词(verb的缩写)关于数据访问的说明
6.
不及物动词关于任务执行和调度的说明
7.
七。测试笔记
7.1.
推荐阅读
随着技术的更新迭代,Java5.0开始支持注释。spring作为java中的主导框架,从2.5版本更新开始,逐渐抛弃了xml配置,使用注释来控制spring框架。Spring有这么多注解,你可能做java很多年了,也不会需要。以下是按类型分类的七种最常用注释的摘要。
一.核心说明
@必填
这个注释用在bean的setter方法上。指示此属性是必需的,并且必须在配置阶段注入,否则将引发BeanInitializationExcepion。
@自动连线
该注释用于bean的字段、setter方法和构造函数,以显式声明依赖关系。根据类型自动布线。
当这个注释用在一个字段上,并且通过使用一个属性传递一个值时,Spring会自动为这个字段赋值。您还可以将此注释用于私有属性(不推荐),如下所示。
最常见的用法是在setter上使用这个注释,这样就可以向setter方法添加自定义代码。如下所示:
当在构造函数上使用这个注释时,注意一个类中只允许一个构造函数使用这个注释是很重要的。另外,在Spring4.3之后,如果一个类只有一个构造函数,那么Spring会自动注入相关bean,即使不使用这个注释。如下所示:
@限定符
此注释与@Autowired一起使用。使用这个注释可以让您对注射过程有更多的控制。
@Qualifier可以用在单个构造函数或方法的参数上。当上下文中有几个相同类型的bean时,使用@Autowired无法区分要绑定的bean,所以可以使用@Qualifier来指定名称。
@配置
这个注释用在类上来定义bean。它的功能与xml配置文件相同,表明这个bean是一个Spring配置。此外,这个类可以使用@Bean注释来初始化定义Bean。
@ComponentScan
该注释通常与@Configuration注释一起使用,以指定Spring scan注释的包。如果未指定包,默认情况下将扫描此配置类所在的包。
@懒
该注释用于Spring的组件类。默认情况下,Spring中的Bean依赖项从一开始就被创建和配置。如果希望延迟bean的初始化,可以在这个类上使用Lazy注释,指示这个bean只有在第一次使用时才会被创建和初始化。这个注释也可以用在由@Configuration注释的类上,表明所有由@Bean注释的方法都将延迟初始化。
@值
该注释用于字段、构造函数参数和方法参数。@Value可以指定属性值的表达式,支持SpringEL通过# {}获取值,支持$ {}从属性源(属性文件、本地环境变量、系统属性等)注入值。)到bean的属性中。这个注释值的注入发生在AutoWired AnnotationBeanpostprocessor类中。
2.Spring MVC和REST注释
@控制器
这个注释使用类来声明这个类是一个Spring控制器,这是@Component注释的一种具体形式。
@RequestMapping
这个注释可以用在类和方法上,将web请求映射到处理程序类或处理程序方法。当在类上使用这个注释时,会创建一个基本url,其方法上的所有@RequestMapping都在这个url之上。
您可以使用它的方法属性来限制请求匹配的http方法。
此外,Spring4.3之后引入了@RequestMapping的一系列变体,如下所示:
@GetMapping
@PostMapping
@PutMapping
@补丁映射
@DeleteMapping
对应于相应方法的RequestMapping配置。
@CookieValue
该注释用在@RequestMapping声明的方法的参数上,它可以将cookie与HTTP cookie中的相应名称绑定。
Cookie是http请求中名为JSESSIONID的cookie值。
@交叉起源
这个注释用在类和方法上,以支持跨域请求,这是在Spring 4.2之后引入的。
@ExceptionHandler
该注释在方法级别用于声明异常的处理逻辑。您可以指定目标异常。
@InitBinder
该注释在方法上用于声明WebDataBinder的初始化(将请求参数绑定到JavaBean上的DataBinder)。在控制器上使用这个注释来自定义请求参数的绑定。
@MatrixVariable
这个注释用在请求处理程序方法的参数上,Spring可以在矩阵url中注入相关的值。这里的矩阵变量可以出现在url的任何地方,用在变量之间;分开。如下所示:
需要注意的是,默认的Spring mvc不支持矩阵变量,需要打开。
注释配置需要按如下方式打开:
@路径变量
该注释用于请求处理程序方法的参数。@RequestMapping可以定义动态路径,例如:
您可以使用@PathVariable将路径中的参数绑定到请求方法的参数。
该注释用在请求处理程序方法的参数上,并用于将web请求中的属性(由服务器放置的属性值)绑定到方法参数。
@请求体
这个注释用在请求处理程序方法的参数上,将http请求的主体映射绑定到这个参数。HttpMessageConverter负责将对象转换成http请求。
@请求标题
该注释用于请求处理程序方法的参数,将http请求头的值绑定到该参数。
@RequestParam
此注释用于请求处理程序方法的参数,将http请求参数的值绑定到参数。
@请求部件
这个注释用在请求处理程序方法的参数上,将一个多部分(比如一个文件)绑定到参数上。
@ResponseBody
该注释用于请求处理程序方法。类似于@RequestBody,它用于将方法的返回对象直接输出到http响应。
@ResponseStatus
该注释用于方法和异常类,以声明该方法或异常类返回的http状态代码。您可以在控制器上使用这个注释,这样所有的@RequestMapping都将继承。
@ControllerAdvice
该注释用于类。如前所述,可以为每个控制器声明一个ExceptionMethod。可以使用@ControllerAdvice声明一个类,统一处理所有@RequestMapping方法的@ExceptionHandler、@InitBinder和@ModelAttribute。
@RestController
这个注释用在类上来声明这个控制器返回一个域对象而不是一个视图。它还引入了两个注释@Controller和@ResponseBody。
@RestControllerAdvice
这个注释用在类上,引入了两个注释,@ControllerAdvice和@ResponseBody。
@SessionAttribute
此注释用于方法的参数,以将会话中的属性绑定到参数。
@SessionAttributes
该注释在类型级别用于在会话中存储JavaBean对象。通常与@ModelAttribute批注一起使用。如下所示:
三。Spring Boot笔记
@启用自动配置
这个注释通常用在主应用程序类中,告诉Spring Boot根据当前包自动添加bean,设置bean的属性等。
@SpringBootApplication
该注释用于Spring Boot项目的应用程序主类(该类需要在基础包中)。使用此注释的类将首先让Spring Boot开始对基本包及其子包类进行组件扫描。
本注释还增加了以下注释:
@配置
@启用自动配置
@ComponentScan
四。刻板印象笔记
@组件
该注释使用该类声明一个Spring组件(Bean ),并将其添加到应用程序上下文中。
@控制器
如上所述。
@服务
这个注释用在类上,声明这个类是一个服务类,它执行业务逻辑、计算、调用内部api等。是@Component注释的具体形式。
@仓库
这个类用来在类上声明这个类是用来访问数据库的,一般作为DAO的角色。
该注释具有自动翻译的特性。例如,当这个组件抛出异常时,将有一个处理程序来处理异常,而不使用try-catch块。
动词(verb的缩写)关于数据访问的说明
@事务性
此批注用于接口定义、接口中的方法、类定义或类中的公共方法。需要注意的是,这个注释并没有激活事务行为,它只是元数据,一些运行时基础设施会使用元数据。
不及物动词关于任务执行和调度的说明
@已安排
这个注释用在一个方法上,声明这个方法是定期调度的。具有此批注的方法需要具有Void的返回类型,并且不能接受任何参数。
第二个与第一个不同,它不会等待最后一个任务执行结束。
@Async
这个注释用在一个方法上,声明该方法将在一个单独的线程中执行。与预定注释不同,此注释可以接受参数。
使用此注释的方法的返回类型可以是Void或返回值。但是返回值的类型必须是Future。
七。测试笔记
@上下文配置
这个注释用在类上来声明用于测试的配置文件。此外,它还可以指定加载上下文的类别。
该注释通常与SpringJUnit4ClassRunner一起使用。
作者:Java程序袁欢blog.csdn.net/Lubanjava/article/details/100579554
西部数码代理(chenqinet.cn)是工信部批准的正规老牌云服务商,拥有ISP、云牌照、IDC、CDN全业务资质。自成立以来,二十多年来一直专注于域名注册,虚拟主机,云服务器,企业邮箱,企业网站建立等互联网基础服务!
公司开发的云计算平台以便捷、高效、高性价比、意想不到的售后优势占领市场,跻身国内前三的接入服务商,为国内超过50万家网站提供高速稳定的托管服务!先后荣获中国高新技术企业、中国优秀云计算服务商、中国十大IDC企业、中国最受欢迎云服务商等称号!
目前西部数码代理高性能云服务器在售,最低仅售48元!
http://zhuji.chenqinet.cn/cloudhost/