文档章节

关于Java中的注解

wf王帆
 wf王帆
发布于 2016/05/07 23:08
字数 1087
阅读 84
收藏 6
点赞 2
评论 0

·@SuppressWarings的意思    

J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

 ·使用 @Controller 定义一个 Controller 控制器    

 @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。

·使用 @RequestMapping 来映射 Request 请求与处理器      

可以使用@RequestMapping 来映射URL 到控制器类,或者是到Controller 控制器的处理方法上。当@RequestMapping 标记在Controller 类上的时候,里面使用@RequestMapping 标记的方法的请求地址都是相对于类上的@RequestMapping 而言的;当Controller 类上没有标记@RequestMapping 注解时,方法上的@RequestMapping 都是绝对路径。这种绝对路径和相对路径所组合成的最终路径都是相对于根路径“/ ”而言的。

 ·什么时候用@Resource,什么时候用@service    

当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类定义为一个bean,bean名称为XXX;     当需要在某个类中定义一个属性,并且该属性是一个已存在的bean,要为该属性赋值或注入时在该属性上一行使用@Resource(name="xxx"),相当于为该属性注入一个名称为xxx的bean。

 ·@Target是Java的元注解(值修饰注解的注解)之一。用来指定注解修饰类的哪个成员。加大括号表示一个数组,指被修饰的注解能用于多个不同的类成员。for example: @Target (ElementType.FIELD) public @interface A{} 表示注解只能用来修饰类中的Field @Target({ElementType.FIELD,ElementType.METHOD}) public @interface A{} 表示直接A能用来修饰类中的Field和Method ·@Retention(RetentionPolicy.RUNTIME)     这个是声明注解的,@Rtention(RetentionPolicy.RUNTIME), 表示jvm运行时,此注解可被读出。

 ·@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

·Java用@interface Annotation{}定义一个注解@Annotation,一个注解是一个类。 @Override,@Deprecated,@SuppressWarnings为常见的三个注解,注解相当于一种标记,在程序上加了注解就等于加上了某种标记,以后JAVAC编译器,开发工具和其他程序可以用反射来了解你的类以及各种元素上有无任何标记,看你有什么标记,就去干相应的事。    

注解@Override用在方法上,当我们想重写一个方法时,在方法上加@Override,当我们方法的名字出错是,编译就会报错    

 注解@Deprecated,用来表示某个类的属性或方法已经过时,不想别人再用时,在属性和方法上用@Deprecated修饰。    

注解@SuppressWarings用来压制程序中出来的警告,比如在没有用泛型或是方法已经过时的时候。    

注解@Retention可以用来修饰注解,是注解的注解,称为元注解。

·@RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示来中的所有响应请求的方法都是以该地址作为父路径。

RequestMapping注解有六个属性,下面我们把它分为三类进行说明。

 1.value,method value:指定请求的实际地址,指定的地址可以是URI Template模式; method:指定请求的method类型,GET,POST,PUT,DELETE等;

 2.consumes,produces; consumes:指定处理请求的提交内容类型(Content-Type); produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;

 3.params,headers; params:指定request中必须包含某些参数值,才让该方法处理 header:指定request中必须包含某些指定的header值,才能让该方法处理请求。 无参数的log方法,例子: logger.info()

© 著作权归作者所有

共有 人打赏支持
wf王帆
粉丝 6
博文 64
码字总数 9386
作品 0
西安
Java SE Annotations API学习

注解,元数据的一种形式,提供关于程序不是程序本身的一部分数据。注解对代码的操作没有直接影响。 注解有多用途,如: a、用于编译信息。通过编译器检测错误or抑制警告 b、编译时和部署时的...

Rksi5
2014/04/08
0
0
Java注解(Annotation)详解

Java注解(Annotation)详解 1.Annotation的概念 An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may......

幻海流心
05/23
0
0
Java 8新特性探究(四)类型注解 复杂还是便捷

本文将介绍java 8的第二个特性:类型注解。 注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置。那充满争议的类型注...

OSC闲人
2013/11/28
0
5
Spring AOP切点表达式详解

简介 面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更为...

张旭峰
06/05
0
2
Kotlin和Java混合开发必读:基本的互操作

在使用Kotlin和Java混合开发的时候,涉及到一些基本的互操作 一、属性的读写 1.Kotlin自动识别Java的属性的Getter和Setter 2.Java操作kotlin属性可以通过Getter和Setter的方式 二、空安全类型...

王木东
04/05
0
0
Java注解教程:自定义注解示例,利用反射进行解析

Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响。在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解。 注解是Java ...

哲别0
2017/10/23
0
0
Spring之jdbc Template实现CRUD操作

Spring为各种持久化技术都提供了简单操作的模板回调。比如jdbc、hibernate、Mybatis以及JPA等。 这里我们就以JDBC为例,看看JDBC template怎么实现CRUD操作。 JdbcTemplate主要提供以下几类方...

Java攻城玩家
05/31
0
0
Scala笔记整理(三):Scala面向对象—类详解1

[TOC] getter和setter 简单类和无参方法 需要说明的是,官方给出的参考资料对于这方面讲解得十分详细,目前入门来说,不需要达到这样的理解,只需要可以进行开发即可,这一部分我给出的是官方...

xpleaf
04/20
0
0
JAXB Annotation初步使用

JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。换...

秋风醉了
2014/07/02
0
0
2018年Java编程学习面试最全知识点总结

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql 主从复制中遇到的错误!

。。。。。

万建宁
11分钟前
0
0
DUBBO 详细介绍

摘要: 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架...

明理萝
22分钟前
0
1
4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
25分钟前
0
0
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
26分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
31分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
33分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
35分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
36分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
38分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
41分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部