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下面的画板一样的功能还是需 ...
随机推荐
- Unsupported major.minor version 51.0 在配置/运行Maven工程时,JDK与Maven所引用的jdk版本不一致
在配置Maven工程,部署到tomcat服务器运行的过程中,遇到如下错误: "Unsupported major.minor version 51.0 " 错误原因是由于maven ...
- HTML CSS简单总结
1.css 的border属性改变hr颜色小示例 <hr style="border:0;background-color:#ff0000;height:1px;margin:0;pa ...
- 【现代程序设计】homework-06
1) 把程序编译通过, 跑起来. 读懂程序,在你觉得比较难懂的地方加上一些注释,这样大家就能比较容易地了解这些程序在干什么. 把正确的 playPrev(GoMove) 的方法给实现了. 如果大家不会 ...
- Android权限设置android.permission
android.permission.ACCESS_NETWORK_STATE: 允许程序访问有关GSM网络信息(Allows applications to access information a ...
- chche缓存
打开一张图片,先从缓存中找,如果没有,再去sccard中找,如果还没有,就去网络下载.下载好了以后,先保存到sdcard中,再保存到缓存中 public class ImageAsyncTask ex ...
- XMLSAX解析
* HTML不区分大小写,XML区分大小写 * 用浏览器打开xml文件,判断xml文件是否有错 * xml与html的区别 1:xml的标记可以自定义,但是html标记不可以定义.<studen ...
- SPEL语言-Spring Expression Language
Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts 2x中使用的OGNL表达式语言,能 ...
- node相关--socket.io
使用Socket.IO可以避免webSocket产生的问题: 传输: Socket.IO中消息的传递是基于传输的,而非全部依靠WebSocket; 它总会尝试选择对用户来说速度最快.对服务器性能来说最 ...
- Xamarin Android长度单位区别
Xamarin Android长度单位区别 Android中长度单位有6种:px.in.mm.pt.dp/dip.sp.其中,px表示显示设备的一个像素:in表示显示设备的1英寸:mm表示显示设备的1 ...
- pda完美结合开销售单据haohantech-安卓打票扫描PDA智能POS 发展现状如何,会取代传统电脑 代替手工开单 么?
现场开单时指业务员每天到终端客户的现场进行谈单和接单的动作流程,现场开单一般主要是集中在BCD类门店和一些批发零售小店 现场开单的优势:现场开单可以及时掌控终端客户情况,促进客情关系,提高产品的铺市率 ...