A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 金龙 中级黑马   /  2012-7-31 16:52  /  2449 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

看张孝祥老师的高新技术视频,里面有讲到注解。
其中老师给讲的这三个注解@Override(复写的时候写上,会提示你是否正确覆盖)、@SuppressWarnings(取消已过时警告)和@Deprecated(自己标注已过时),就这三个明白什么意思以及感觉很有用处

但是到后面,就开始不明白注解的应用场景了,除了这三个之外,注解还有什么应用场景呢?它是实际用途到底是什么呢?

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 神马都是浮云

查看全部评分

6 个回复

正序浏览
王峰 中级黑马 2012-7-31 19:42:57
7#
Annotation 是 JDK 1.5 增加的语言特性,主要为 Java EE 5 发布作为铺垫的,从 Java EE 5
开始使用了大量的 Annotation。比如:EJB3,JPA,JWS 等等都将复杂的 XML 配置文件作为可
选了,由 Annotation 取而代之。

用注释(Annotation)来标识要作绑定的类和属性等,这可以极大简化了开发的工作量。

Annotation 一般可以取代复杂的配置文件,用于告之容器管理者某个类、方法的行为

Annotation(注释)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注释是以‘@注释名’在代码中存在的,根据注释参数的个数,我们可以将注释分为:标记注释、单值注释、完整注释三类。它们都不会直接影响到程序的语义,只是作为注释(标识)存在,我们可以通过反射机制编程实现对这些元数据的访问。另外,你可以在编译时选择代码里的注释是否只存在于源代码级,或者它也能在class文件中出现。

元数据的作用
如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类:
编写文档:通过代码里标识的元数据生成文档。
代码分析:通过代码里标识的元数据对代码进行分析。
编译检查:通过代码里标识的元数据让编译器能实现基本的编译检查。

基本内置注释

@Override


Java代码

1. package com.iwtxokhtd.annotation;
2.
7. public class OverrideDemoTest {
8.  
9.     //@Override
10.     public String tostring(){
11.         return "测试注释";
12.     }
13. }

package com.iwtxokhtd.annotation;

public class OverrideDemoTest {

//@Override
public String tostring(){
return "测试注释";
}
}
回复 使用道具 举报
@Override,恐怕这个是最直观的了,强制判断您的覆写是否正确。
回复 使用道具 举报
尤洋 发表于 2012-7-31 17:53
其实就是java源文件需要与配置文件同步,不同步就会出错。
为了解决这个问题,就要把这两部分放在一起进行 ...

同理,虽然不太懂,但我记下了,谢谢
回复 使用道具 举报
王志明 发表于 2012-7-31 17:02
使用spring和JPA的时候你会接触到大量的注解:
比如,一个Service里面要有一个Dao,这时候就可以使用注解
pu ...

虽然不太懂,但是后面能碰见到就OK了,现在先给记住,谢谢
回复 使用道具 举报
其实就是java源文件需要与配置文件同步,不同步就会出错。
为了解决这个问题,就要把这两部分放在一起进行维护,
而注解除了(1)包含功能性的实现代码,恰好(2)还可以添加元数据(实现维护),
(1)特性导致注解能简化程序
(2)特性决定了它具有维护数据的作用
回复 使用道具 举报
使用spring和JPA的时候你会接触到大量的注解:
比如,一个Service里面要有一个Dao,这时候就可以使用注解
public class Service {
   // 这里使用注解,就不用自己手动编写代码去处理了,很方便
    @Resource
    private Dao dao;
}

// spring会根据这个注解创建这个类的实例,上面那个标了@Resource的地方spring就会把这个Dao对象注入进去
@Repository
Public class Dao {
    public void save(...) {...}
    public void update(...) {...}
    ....
}

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马