首页 > 编程语言 >JAVA注解的总结及其作用

JAVA注解的总结及其作用

时间:2024-03-10 21:44:31浏览次数:28  
标签:总结 JAVA 开发人员 Spring 路径 Bean 注解 方法

# 一、@component
标注一个类为Spring容器的Bean,(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)。将其扫描注入到Spring容器,注入成Bean

# 二、@ServerEndpoint(value = "/server/{username}")
@ServerEndpoint 注解用于将一个Java类标记为WebSocket端点,指定客户端可以通过指定的端点URL连接到该WebSocket端点。在注解中,value 属性用于指定WebSocket端点的URL路径。
@ServerEndpoint 注解的作用是定义一个WebSocket端点,用于处理WebSocket连接和通信,实现实时的双向数据传输。

# 三、@OnOpen
@OnOpen 注解的作用是定义一个方法,在WebSocket连接建立时执行特定的逻辑,允许开发人员在连接建立时进行一些自定义操作。

# 四、 @OnMessage
@OnMessage 注解的作用是定义一个方法,在服务器端接收到客户端发送的消息时执行特定的逻辑,允许开发人员处理接收到的消息并做出相应的响应。
@OnMessage 注解标记的方法会在服务器端接收到客户端发送的消息时被调用,允许开发人员在方法内部处理接收到的消息并做出相应的响应。
通过@OnMessage 注解,开发人员可以定义多个方法来处理不同类型或格式的消息。

# 五、@OnClose
@OnClose 注解标记的方法会在客户端与服务器端的WebSocket连接关闭时被调用,允许开发人员在连接关闭时执行一些清理操作或其他逻辑

# 六、@OnError
@OnError 注解的作用是定义一个方法,在WebSocket通信过程中发生错误时执行特定的逻辑,允许开发人员处理错误并采取适当的措施,以确保应用程序在出现问题时能够做出正确的响应。

# 七、@Configuration
@Configuration 注解在Spring框架中起着重要的作用,用于定义配置类并配置Spring应用程序上下文中的Bean和其他组件

# 八、@Bean
@Bean 注解,用于定义Bean的方法并将对象实例注册到Spring应用程序上下文中,为应用程序提供依赖注入和管理功能。
Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。 产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。

# 九、@CrossOrigin
@CrossOrigin 注解在Spring框架中用于处理跨域资源共享,通过配置允许跨域访问的源,帮助开发人员实现安全、灵活的跨域访问控制。

# 十、@RestController
结合了@Controller 和@ResponseBody 注解的功能,表示该类中的方法返回的数据将直接写入 HTTP 响应体中,而不是通过视图解析器渲染视图。

# 十一、@RequestMapping("")
@RequestMapping 注解在Spring框架中用于将 HTTP 请求映射到处理方法或控制器,实现请求的路由和处理,提供了灵活的配置选项,方便开发人员定义请求路径的映射规则和处理逻辑。

# 十二、@RequestBody
@RequestBody 注解在Spring框架中用于从 HTTP 请求中获取请求体数据并将其转换为 Java 对象,方便处理客户端发送的数据,特别适用于处理 POST 请求中的请求体数据。

# 十三、@PathVariable
获取 URL 中的路径变量:通过在方法参数上添加@PathVariable 注解,并指定对应的路径变量名,可以从请求 URL 中提取该路径变量的值。
灵活的路径参数处理:@PathVariable 注解使得控制器方法能够处理包含动态路径参数的 URL,从而实现对不同资源的访问和操作。
支持 RESTful 风格的 API:在 RESTful 服务的设计中,@PathVariable 注解常用于从 URL 中提取资源标识符或其他参数,实现对资源的操作。
支持多个路径变量:@PathVariable 注解支持在一个 URL 中包含多个路径变量,通过指定不同的@PathVariable 注解,可以获取多个路径变量的值。
可选路径变量:@PathVariable 注解还支持将路径变量设置为可选的,即在 URL 中该路径变量可以有或者没有,从而实现更灵活的路径匹配。

# 十四、@RequestParam
@RequestParam 注解在Spring框架中用于从 HTTP 请求中获取请求参数的值,支持获取查询参数、表单参数等类型的参数,并支持参数的默认值、必选参数等特性,使得处理请求参数变得更加方便和灵活。

# 十五、@Getter
@Getter 注解在Lombok中用于自动生成类中的 getter 方法,简化了代码编写过程,提高了代码的可读性和可维护性。

# 十六、@Override
标识重写方法:通过在子类中的方法上添加@Override 注解,明确表示该方法是重写父类中的方法,提高代码的可读性。
编译时检查:编译器会在编译时检查带有@Override 注解的方法是否真的重写了父类中的方法,避免由于拼写错误或方法签名不匹配等导致的错误。
防止意外重写:在父类中修改了一个方法,但是子类没有正确地重写该方法时,使用@Override 注解可以帮助开发者及时发现问题。
提高代码可维护性:通过明确标识方法的重写关系,可以使代码更易于理解和维护。

# 十七、@Service
@Service 注解用于标识服务层组件,处理业务逻辑。

# 十八、@Mapper
@Mapper 注解用于标识 MyBatis 的映射器接口,定义数据库操作的 SQL 映射。

标签:总结,JAVA,开发人员,Spring,路径,Bean,注解,方法
From: https://www.cnblogs.com/stevenduxiang/p/18064879

相关文章

  • Java面试必考题之线程的生命周期,结合源码,透彻讲解!
    写在开头在前面的几篇博客里,我们学习了Java的多线程,包括线程的作用、创建方式、重要性等,那么今天我们就要正式踏入线程,去学习更加深层次的知识点了。第一个需要学的就是线程的生命周期,也可以将之理解为线程的几种状态,以及互相之间的切换,这几乎是Java多线程的面试必考题,每一年都......
  • 今日总结
    今天随着“数智化”时代的到来,我们生活中的方方面面都离不开数据,而你真的了解数据吗?本文将为你重新解读数据的概念和价值,以及数据的价值是如何在“数智化”时代下一步一步得到运用与升华的;因内容颇多,笔者将分几期为大家进行讲解。一、前言上两期文章中,我们已经了解到“数据”......
  • 继承性#java#面向对象
    继承性子类(也称为派生类)继承父类(也称为基类),子类就获取到了父类中声明的所有属性和方法(构造方法不能继承,只能在子类构造方法第一行调用父类的构造方法)。但是由于封装性的影响,可能子类不能直接调用父类中的属性和方法(如父类中声明为private)。继承提高了代码的复用性子类继承父......
  • 多态性#java#面向对象
    多态性静态多态:也称为编译期间的多态,编译器在编译期间完成的,主要通过函数重载实现。编译器根据相同函数名的不同参数列表,可推断出要调用哪个函数。publicclassPerson{publicvoidsay(){System.out.println("我是第一个名为say的方法!");}publicvo......
  • java springboot拦截器的实现及用法
     1.前景,有时候我们在不同的地方需要使用用户的信息,我们可以使用threadLocal存储信息,这样我们在在这个线程随时使用用户信息了,不用自己在写一段冗余代码了,这时候使用拦截器就很不错 2.实现1.实现HandlerInterceptor2.重写实现方法  preHandle:在业务处理器处理请......
  • Java登陆第三十四天——Node.js安装、npm配置、npm命令
    Nodejs是JS的运行环境,使JS可以运行在服务端,可以夸平台,可以运行在浏览器之外,成为一款全栈编程语言。Node.js安装Nodejs官网,进入......
  • 学java15结构
    1.顺序结构java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。2.选择结构if单选择结......
  • 手撕Java多线程(四)线程之间的协作
    线程之间的协作当多个线程可以一起去解决某个问题时,如果某些部分必须在其他部分之前完成,那么就需要对线程进行协调。join()在线程中调用另一个线程的join()方法,会将当前线程挂起,而不是忙等待,直到目标线程结束。对于以下代码,虽然b线程先启动,但是因为在b线程中调用了a线程的join......
  • java.net.UnknownHostException: api.weixin.qq.com解决办法
    java.net.UnknownHostException: api.weixin.qq.comat java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)at java.net.Socket.connect(Socket.java:546)at sun.security.ssl.SSLSo......
  • 学java14用户交互Scanner
    我们可以通过Scanner类来获取用户的输入基本语法Scanners=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。程序实例packageScanner;importjava.util.Scann......