对java注解的认识

2026-04-02 05:16:05

1、注解的用处:有类似枚举的功效,可以作为配置信息存在。为什么这么说,先看一个栗子:(创建一个注解和一个类)。

对java注解的认识

对java注解的认识

2、输出1,仿佛就是类静态变量(枚举的对象值一样)。

对java注解的认识

3、所以我的理解(现在这个阶段):注解就是一个配置信息,当这个注解加在了某个类、方法、属性上时,这些个类、方法或者属性就拥有了这个配置信息。而当我们使用注解的时候很难理解注解到底做了什么,就比如spring的“@bean"注解{jdk解释:Indicates that a method produces a bean to be managed by the Spring container},其实意思就是spring容器,根据这个方法帮我们创建了一个bean,不需要我们去配置文件配置这个bean了{原来的xml配置方式:<bean>id=.......class=.......</bean>}。

@Bean:配置类中标注了 @Bean 的方法的返回值将被识别为 Spring Bean,并注册到容器中,受 IoC 容器管理。@Bean 的作用等价于 XML 配置中的 <bean/> 标签。Spring 在解析时,将识别出标注 @Bean 的所有方法,执行之,并将方法的返回值,注册到 IoC 容器中。默认情况下,Bean 的名字即为方法名。

对java注解的认识

4、怎么获取这些个配置信息哪,就是通过java反射机制(反射机制就是通过类路径去生成一个类),大家在看下一个栗子。

对java注解的认识

对java注解的认识

5、通过反射机制拿到了注解中的配置信息。我们都可以拿到注解的信息,这也就说明了,java会自动去处理这些注解(当然了,对于spring的注解,应该是spring去做的处理),比如上面提到的@bean,spring容器会自动识别并创建一个对象放到spring容器中,进行管理,而这个过程我们无法看到,所以觉着很难理解。

对java注解的认识

猜你喜欢