常用元注解

1.Java常用元注解

java 复制代码
@Retention:用于指定被注解的注解的保留策略,即定义注解的生命周期。它的取值包括:
	RetentionPolicy.SOURCE:注解仅存在于源代码中,在编译时会被丢弃。
	RetentionPolicy.CLASS:注解存在于源代码和编译后的class文件中,在运行时会被丢弃。
	RetentionPolicy.RUNTIME:注解存在于源代码、编译后的class文件和运行时的内存中,可以通过反射读取注解的信息。
	
@Target:用于指定被注解的注解可以应用的目标元素类型。它的取值可以是类、接口、字段、方法等,也可以是注解类型本身。

@Documented:用于指示被注解的注解应该被javadoc工具包含在生成的文档中,使得注解的信息出现在API文档中。

@Inherited:用于指示被注解的注解是否可以被继承。如果一个类使用了带有@Inherited注解的注解,并且这个注解又被该类的子类继承了,那么子类也会带有这个注解。

这些元注解对于自定义注解非常有用,可以通过它们来控制注解的行为和作用范围。例如,通过@Retention元注解,可以控制自定义注解的生命周期;通过@Target元注解,可以限制自定义注解的适用目标;通过@Inherited元注解,可以使得自定义注解被继承;通过@Documented元注解,可以让自定义注解的文档信息出现在API文档中,方便开发人员查看。

2.Spring常用元注解

java 复制代码
@ComponentScan:用于指定通过Spring容器扫描和自动装配的组件的基础包路径。

@Configuration:用于标识一个类为配置类,相当于Spring的XML配置文件中的<beans>标签。配置类中通常包含@Bean注解的方法,用于创建和配置Bean。

@Bean:用于标识一个方法返回一个由Spring容器托管的对象,该对象会注册到Spring的应用上下文中。可以通过@Bean注解来注册各种类型的Bean,包括自定义的对象、第三方库的对象等。

@Autowired:用于在类的成员变量、构造方法或者对应的setter方法上,自动装配被注解的Bean对象的依赖关系。它可以省去手动创建Bean实例和设置依赖关系的代码。

@Qualifier:用于指定@Autowired注解的依赖对象的限定符,当有多个类型兼容的Bean存在时,可以通过@Qualifier注解指定要注入的Bean。

@Value:用于注入配置文件中的值到Bean的属性。可以用于注入基本数据类型、字符串、数组等。

@Component:用于标识一个类为一个组件,是通用的Spring组件注解。通常作用在@Service、@Repository、@Controller等具体的组件注解上。

@Service:用于标识一个类为一个服务层组件,通常用于标识Service类。

@Repository:用于标识一个类为一个数据访问层组件,通常用于标识DAO类。

@Controller:用于标识一个类为一个控制层组件,通常用于标识Controller类。
相关推荐
薛之谦_8 小时前
JAVA 多线程编程:从基础原理到实战应用
java·开发语言
LMT_Lanmantech8 小时前
Creo许可降本增效:不增购,也能让现有许可发挥更大价值
java·大数据·开发语言
Shaoshing8 小时前
Serializable
java
wuminyu8 小时前
ZGC染色指针在虚拟线程stackChunkOop上的并发屏障全景分析
java·linux·c语言·jvm·c++
蜗牛互联网9 小时前
Python Agent 工具调用:审批令牌、参数白名单和累计预算
java·开发语言·人工智能·windows·后端·python
哦虎!9 小时前
【JavaEE】网络编程套接字
java
Wang's Blog9 小时前
Java 项目实战: 交友项目 - SpringCloud 整合 Dubbo 的方案概述
java·spring cloud·交友
imDwAaY9 小时前
程序里的地址是真实内存地址吗?从虚拟内存到地址转换
java·linux·服务器
承渊政道9 小时前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
秋饼9 小时前
Claude Haiku 5.5 + Spring AI 2.0 企业级低成本高并发 AI Agent 实战:子智能体分工、成本熔断与百万上下文落地
java·ai·技术分享·后端开发