Java学习记录-注解
注解
一、org.springframework.web.bind.annotation
ControllerAdvice
CookieValue : 可以把Request header中关于cookie的值绑定到方法的参数上。
CrossOrigin
ExceptionHandler
InitBinder
Mapping
MatrixVariable
ModelAttribute : 代表的是,该Controller的所有方法在调用前,先执行此ModelAttribute方法,可用于注解和方法参数中,可以把这个ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。
PathVariable : 用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
RequestBody : 该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等。
RequestHeader : 可以把Request请求header部分的值绑定到方法的参数上。
RequestMapping : 用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
RequestParam : 主要用于在SpringMVC后台控制层获取参数。
RequestPart :
ResponseBody : 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式(json,xml)后,写入到Response对象的body数据区。
ResponseStatus
RestController
SessionAttributes : 将值放到session作用域中,写在class上面。
二、org.springframework.stereotype
Component : 是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。
Controller : @Controller对应表现层的Bean,也就是Action
Repository : @Repository对应数据访问层Bean
Service : @Service对应的是业务层Bean
三、org.springframework.beans.factory.annotation
Autowired : 做bean的注入时使用
Configurable
Lookup
Qualifier
Required
Value : 对一些如xxx.properties文件中的文件,进行键值对的注入。
四、org.springframework.context.annotation
Bean
ComponentScan:表示开启Spring Beans扫描,类似于XML配置,这里也可以可以设置basePackages属性。
Conditional
Configuration:表示这个Java文件是一个配置文件,这类Java代码的作用在于配置,要和普通的Java代码区分开发,因此一般我们需要将其放在一个专门的包中
DependsOn
Description
EnableAspectJAutoProxy
EnableLoadTimeWeaving
EnableMBeanExport
Import
ImportResource
Lazy
Primary
Profile
PropertySource
PropertySources
Role
Scope : 用来定义Bean的作用范围。
五、javax.annotation
Generated
PostConstruct:在bean构造函数之后执行,init()方法之前执行(影响Servlet生命周期的注解)
PreDestroy:bean销毁destroy()之前调用的方法(影响Servlet生命周期的注解)
Resource : 做bean的注入时使用。
Resources
六、java.lang.annotation
这个包下是元注解,就是修饰注解的注解。
Target:说明了Annotation所修饰的对象范围
Retention:定义了该Annotation被保留的时间长短
Documented:用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。
Inherited:阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。
Native
Repeatable:
FunctionalInterface:函数式接口
Lambda表达式是如何在java的类型系统中表示的呢?每一个lambda表达式都对应一个类型,通常是接口类型。而“函数式接口”是指仅仅只包含一个抽象方法的接口,每一个该类型的lambda表达式都会被匹配到这个抽象方法。因为 默认方法 不算抽象方法,所以你也可以给你的函数式接口添加默认方法。
我们可以将lambda表达式当作任意只包含一个抽象方法的接口类型,确保你的接口一定达到这个要求,你只需要给你的接口添加 @FunctionalInterface 注解,编译器如果发现你标注了这个注解的接口有多于一个抽象方法的时候会报错的。
七、java.lang
SuppressWarnings:禁用警告
Deprecated:废弃
参考 : 注解用法详解——@SuppressWarnings
参考资料:
http://www.cnblogs.com/leskang/p/5445698.html
http://blog.csdn.net/jzhf2012/article/details/8463783
http://www.360sdn.com/springmvc/2013/0627/407.html
深入理解Java:注解(Annotation)自定义注解入门
Java学习记录-注解的更多相关文章
- Java学习:注解,反射,动态编译
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! Java学习:注解,反射,动态编译 Annotation 注解 什么是注解 ? Annotat ...
- Java学习之注解篇
Java学习之注解篇 0x00 前言 续上篇文章,这篇文章就来写一下注解的相关内容. 0x01 注解概述 Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制. 和J ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- java学习之注解
0x00前言 1.注解是什么: (1)可以叫做注释类型,注解是一种引用数据类型,编译后也是生成class文件 (2)提供信息给编译器: 编译器可以利用注解来探测错误和警告信息 比如 @Override ...
- Java 学习记录
•Eclipse相关 Eclipse常用设置 解决 Eclipse 项目中有红色感叹号的详细方法(图文) JRE System Library [JavaSE-1.8](unbound) •Java ...
- Java学习之注解Annotation实现原理
前言: 最近学习了EventBus.BufferKinfe.GreenDao.Retrofit 等优秀开源框架,它们新版本无一另外的都使用到了注解的方式,我们使用在使用的时候也尝到不少好处,基于这种想 ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- Java学习之==>注解
一.概述 关于注解,首先引入官方文档的一句话:Java 注解用于为 Java 代码提供元数据.作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的.接下我将从注解的定义. ...
- Java学习记录 : 画板的实现
接触java不满一个月,看厚厚的java入门简直要醉,故利用实例来巩固所学知识. 画板的实现其实从原理来说超级简单,可能一会儿就完成了. 但作为一名强迫症患者,要实现和win下面的画板一样的功能还是需 ...
随机推荐
- 高效开发 Android App 的 10 个建议(转)
文章写的非常好,值得大家好好研究研究,仔细分析一下. 引文地址: http://www.cnblogs.com/xiaochao1234/p/3644989.html 假如要Google Play上做 ...
- 【读书笔记】读《高性能网站建设指南》及《高性能网站建设进阶指南:Web开发者性能优化最佳实践》
这两本书就一块儿搞了,大多数已经理解,简单做个标记.主要对自己不太了解的地方,做一些记录. 一.读<高性能网站建设指南> 0> 黄金性能法则:只有10%~20%的最终用户响应时间 ...
- tuple元组(C++11及以后,如C++14)
类tuple与array最本质的区别当数tuple元组元素类型可以不一样,而统一数组array的元素类型必须一样. 本文主要举例: tuple_size Example 123456789101112 ...
- subversion 版本库数据迁移 从一台服务器迁移到另一台新有服务器
[root@NGINX-APACHE-SVN pro]# pwd /var/www/html/svn/pro [root@NGINX-APACHE-SVN pro]# svnadmin dump /v ...
- vsftp 一键安装包
http://pan.baidu.com/s/1mibAJC8
- NDK的Paths and Symbols设定
开发NDK的时候,如果JNI文件找不到C和C++的支持类,然后报很多很多红叉号, 是因为没有设定“Paths and Symbol”.
- 【Android】SlidingMenu属性详解(转)
原文:http://my.eoe.cn/1169143/archive/21892.html SlidingMenu简介:SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者 ...
- contentprovider的学习实例总结
工作中遇到了contentprovider数据共享机制,下面来总结一下: 一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数 ...
- helpDB
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- C#抽象类及其方法的学习
在C#中使用关键字 abstract 来定义抽象类和抽象方法. 不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例. "一个包含一个或多个纯虚函数的类 ...