Java常用注解(Annotation)详解汇总
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java常用注解(Annotation)详解汇总,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2980字,纯文字阅读大概需要5分钟。
内容图文
![Java常用注解(Annotation)详解汇总](/upload/InfoBanner/zyjiaocheng/597/d054b81517ab416da3e59d5d61ef476f.jpg)
JAVA核心知识点 - 注解(Annotation)
先来说说什么是注解:
注解其实就是代码里的特殊标记,它用于替代配置文件,有了注解技术后,开发人员可以通过注解告诉类如何运行。通过元注解来定义(修饰)自定义注解并定义所需要实现的功能。
注解可以标记在包、类、属性、方法,方法参数以及局部变量上,且同一个地方可以同时标记多个注解,这样一来就可以为我们省掉大量的重复复杂的代码。
在Java技术里注解的典型应用是:可以通过反射技术去得到类里面的注解,以决定怎么去运行类。
一,元注解(用来修饰注解的注解)
从JDK 1.5开始, Java增加了对元数据(MetaData)的支持,提供了4个标准的用来对注解类型进行注解的注解类,我们称之为 meta-annotation(元注解)
@Target(ElementType.) 描述注解的使用范围(即:被修饰的注解可以用在什么地方)
取值(ElementType)有:
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型)或enum声明
@Retention(RetentionPolicy.) 描述注解的生命周期(即:被修饰的注解被保留到何时)
取值(RetentionPoicy)有:
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
@Documented 会被javadoc工具动态提取成文档。
@Inherited 允许子类继承父类中的注解。
二,Spring中的注解
SpringMVC注解
这些注解描述的类 Spring会创建原生对象或代理对象并交给 IOC容器 管理,这些对象称之为bean。用时直接 @Autowired 注入即可。
@Mapper 描述数据层 (Mapper)
@Service 描述业务层 (Service)
@Repository 标识持久层 / 数据访问层组件(Dao)
@Component 可以描述各种组件(当组件不好归类时)
@RestController 描述控制层(Controller)并返回JSON数据类型,但不会再执行配置的视图解析器,也不会返回jsp页面,返回值就是Return里的内容。
该注解等同于:@Controller + @ResponseBody
@Controller 描述控制层 接收用户请求 执行 视图解析器 (进行路径拼接 前缀+后缀 ViewResolver解析 View渲染),可以返回到指定页面。
@ResponseBody 将Java对象转为JSON,XML或自定义mediaType内容到页面 。
IOC容器注解
IOC(Inversion of Control) 是控制反转,也叫依赖注入(DI)。
把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。
简单来说: IOC容器意味着将你设计好的对象(类)交给容器控制(管理),需要的时候通过注解来注入(获取),而不是传统的在你的对象内部直接控制(new 对象)。从而降低了程序的耦合性。
如果容器中有多个相同类型的 bean,则框架将抛出 NoUniqueBeanDefinitionException, 以提示有多个满足条件的bean。
bean会进行自动装配。程序无法正确做出判断使用哪一个时,可以使用以下注解标签:,,,,,,,, 来源: https://blog.csdn.net/u013265669/article/details/115123552
内容总结
以上是互联网集市为您收集整理的Java常用注解(Annotation)详解汇总全部内容,希望文章能够帮你解决Java常用注解(Annotation)详解汇总所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。