java方法示例注释 @_Java注释和真实世界的Spring示例

java方法示例注释 @

“注释”是编程语言定义的一种,并用作“标记”。 可以将它们视为编程语言引擎可以理解的注释行。 它们不会直接影响程序的执行,但会直接影响程序的执行。

定义

注释使用@interface关键字定义,并且与接口相似。 它具有定义类似于接口方法的属性。 属性可以具有默认值。 让我们定义一个名为“ Page”的注释,它定义应用程序的UI页面:

public @interface Page {int    id();String url();String icon() default "[none]";String name(); default "[none]";
}

用法

批注广泛用于通知编译器或编译时/运行时/部署时处理。
注释的使用更简单:

@Page(id=1, url=”studentView”, icon=“icons/student.png”, name=”Students”)
public class StudentWindow extends Window { … }

还可以为方法和属性定义注释:

@AnAnnotation
public String getElementName() {…}@AnAnnotation(type=”manager”, score=3)
public int income;

例子

1)反射/代码生成:

具有特定注释的方法可以在运行时进行处理:

public @interface MyAnnotation { ... }
public class TestClass {@MyAnnotationpublic static method1() { ... }@MyAnnotationpublic static method2() { ... }@MyAnnotationpublic static method3() { ... }
}public static void main(String[] args) {for (Method method : Class.forName("TestClass").getMethods()) {if (method.isAnnotationPresent(MyAnnotation.class)) {// do what you want}}
}

2) Spring bean配置(本节需要Spring bean配置知识):

让我们再次使用“页面”注释:

package com.cmp.annotation;
public @interface Page {int    id();String url();String icon() default "[none]";String name(); default "[none]";
}

假设我们在包中有几个带有@Page批注的类:

@Page(id=1, url=”studentView”, icon=“icons/student.png”, name=”Students”)
public class StudentWindow extends Window { … }

如果我们在Spring application-context.xml文件中如下定义bean配置,则Spring将创建类实例“在给定包中放置了@Page注释”。

<context:component-scan base-package="com.cmp.ui" annotation-config="true">
<context:include-filter type="annotation" expression="com.cmp.annotation.Page"/>
</context:component-scan>

因此,我们被强制Spring在运行时仅实例化某些类。

有关注释的更多详细信息,请参阅:

http://docs.oracle.com/javase/1.5.0/docs/guide/language/annotations.html
http://docs.oracle.com/javase/tutorial/java/javaOO/annotations.html

参考: CodeBalance博客上来自我们JCG合作伙伴 Cagdas Basaraner的Java注释和真实世界的Spring示例 。

相关文章 :

  • 克隆可序列化和不可序列化的Java对象
  • Java递归基础
  • 有益的CountDownLatch和棘手的Java死锁
  • Java Secret:加载和卸载静态字段
  • 使用java.util.prefs.Preferences代替java.util.Properties

翻译自: https://www.javacodegeeks.com/2012/01/java-annotations-real-world-spring.html

java方法示例注释 @

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356977.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监控与管理

本文是我们名为“ Spring Integration for EAI ”的学院课程的一部分。 在本课程中&#xff0c;向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来&#xff0c;您将深入研究Spring Integration的基础知识&#xff0c;例如通道&#xff0c;转换器和适…

郑州智慧岛大数据管委会_数据科学融通应用数学 ‖ 智慧岛大讲堂

8月6日上午&#xff0c;郑东新区智慧岛大数据实验区管委会&#xff0c;举办了“数据科学融通应用数学”专题智慧岛大讲堂讲座&#xff0c;邀请到北京大学数学科学学院副教授、大数据分析与应用技术国家工程实验室郑州数字创新中心主任卢朓为本次大讲堂活动做主题分享&#xff0…

浏览器中的WebSocket(ws://127.0.0.1:9988);

<script type"text/javascript">function WebSocketTest(){if ("WebSocket" in window){alert("您的浏览器支持 WebSocket!");// 打开一个 web socketvar ws new WebSocket("ws://localhost:9998/echo");ws.onopen function()…

db2 获取返回的游标_MySQL ------ 存储过程与游标简单使用

存储过程小例子如完成以下事情&#xff0c;获得与之前一样的订单合计&#xff0c;但需要对合计增加营业税&#xff0c;不过只针对某些顾客主要就是&#xff1a;1、获得合计2、把营业税有条件的添加到合计 3、返回合计&#xff08;带或不带税&#xff09;delimiter $$-- 存储过程…

hdu_5761_Rower Bo(xjb猜公式)

题目链接&#xff1a;hdu_5761_Rower Bo 题意&#xff1a; 让你求一个物理问题 题解&#xff1a; xjb猜公式&#xff0c;由题目样例可得&#xff0c;答案为8/7&#xff0c;然后我们可以xjb猜出公式为v1*a/(v1*v1-v2*v2)&#xff0c;然后特判一下a0和v1<v2的情况就OK 1 #incl…

netbeans 源文件_具有NetBeans,嵌入式GlassFish,JPA和MySQL数据源的Arquillian

netbeans 源文件这是一个偶然的帖子。 我一直在研究交易CDI观察者&#xff0c;并尝试使用嵌入式GlassFish对它进行一些集成测试。 但是令人惊讶的是&#xff0c;这种方法不能很好地工作&#xff0c;我仍在弄清楚&#xff0c;使用普通的嵌入式GlassFish时问题出在哪里。 同时&am…

vue 子父组件周期顺序_父组件和子组件生命周期钩子执行顺序是什么?

加载页面执行步骤1、父组件&#xff1a;beforeCreate -> created -> beforeMount2、子组件&#xff1a;beforeCreate -> created -> beforeMount -> mounted3、父组件&#xff1a;mounted销毁组件执行步骤1、父组件&#xff1a;beforeDestroy2、子组件&#xff…

最大和

【题目描述】N个数围成一圈&#xff0c;要求从中选择若干个连续的数&#xff08;注意每个数最多只能选一次&#xff09;加起来&#xff0c;问能形成的最大的和。 【输入描述】第一行输入N&#xff0c;表示数字的个数&#xff0c;第二行输入这N个数字。 【输出描述】输出最大和。…

某个元素的距离页面的左边距_在机检测圆心距

点击蓝色标题关注&#xff01;新年伊始&#xff0c;小伙伴们开工了&#xff0c;小编也来给大家加油助威。精密加工过程中&#xff0c;需要严格管控每道工序的加工误差&#xff0c;保证零件最终加工合格。那么该如何快速而又准确地判断&#xff0c;当前工序加工尺寸是否合格&…

复合设计模式示例

本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中&#xff0c;您将深入研究大量的设计模式&#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因&#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 &#xff01; 目录 …

kafka 不同分区文件存储_大白话 + 13 张图解 Kafka

前言应大部分的小伙伴的要求&#xff0c;在Yarn之前先来一个kafka的小插曲&#xff0c;轻松愉快。一、Kafka基础消息系统的作用应该大部份小伙伴都清楚&#xff0c;用机油装箱举个例子所以消息系统就是如上图我们所说的仓库&#xff0c;能在中间过程作为缓存&#xff0c;并且实…

apache thrift_Apache Thrift快速入门教程

apache thriftThrift是一种跨语言RPC框架&#xff0c;最初是在Facebook上开发的&#xff0c;现在作为Apache项目开源。 这篇文章将描述如何以不同的模式&#xff08;例如阻塞&#xff0c;非阻塞和异步&#xff09;编写Thrift服务和客户端。 &#xff08;我觉得后两种模式的文档…

如何恢复被删短信_手机便签记事本的内容如何恢复?快试试这款好用的便签

手机便签记事本是很多人日常工作和生活中都会用到的一种辅助工具&#xff0c;它不但可以记录我们的待办事项&#xff0c;经常坚持使用的话&#xff0c;还能养成良好的生活节奏。常在河边走哪有不湿鞋&#xff0c;很多人都发生过误删的情况&#xff0c;手机便签记事本的内容如何…