- 浏览: 1592571 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
package com.enhance.Annotaion; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.enhance.enumeration.TrafficLamp; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD,ElementType.TYPE}) public @interface MyAnnotation { //如果这个注解只有一个value属性,那么在使用注解的时候前面的value=可以省略 String value(); //如果这个注解有 默认的值,那么在使用注解的时候可以不用赋值.否则 必须赋值 String color() default "blue"; int[] arrayAttr() default {3,4,4}; TrafficLamp lamp() default TrafficLamp.RED; MetaAnnotaion annotationAtrr() default @MetaAnnotaion("hibernate"); Class classAttr() default MyAnnotation.class; }
原注解
package com.enhance.Annotaion; public @interface MetaAnnotaion { String value(); }
package com.enhance.Annotaion; import java.util.Arrays; import com.enhance.enumeration.TrafficLamp; @MyAnnotation(annotationAtrr=@MetaAnnotaion("Spring"),color="yellow",value="abc",arrayAttr=4,lamp=TrafficLamp.YELLOW) //如果数组属性的值只有一个,可以省略 {} //@MyAnnotation(color="yellow",value="abc",arrayAttr={1,2,3}) //一点加入了标注,就表示创建了这个类的对象 public class AnnotationTest { @MyAnnotation("money") //这里是给 value属性赋值 public static void main(String[] args){ //对应用注解的类,使用反射进行操作 if(AnnotationTest.class.isAnnotationPresent(MyAnnotation.class)){ //如果这个类中存在这个注解 就进行 相应的操作 MyAnnotation annotation=(MyAnnotation)AnnotationTest.class.getAnnotation(MyAnnotation.class); System.out.println(annotation.color()); //yellow System.out.println(annotation.value()); //abc System.out.println(Arrays.toString(annotation.arrayAttr())); //给数组复制 System.out.println(annotation.lamp().nextLamp().name()); System.out.println(annotation.annotationAtrr().value()); } } }
//说明
十、 注解 a) @ SuppressWarnings(“deprecation”):禁止显示警告 b) @Deprecated:让某个方法过时 c) @Override:重写的时候最好加上 d) 注解标记可以加在 包,类,字段,方法,方法的参数,局部变量上. e) 注解的应用 i. 定义注解类 public @interface MyAnnotation ii. 应用注解类 @MyAnnotation iii. 对应用注解类的类进行反射操作的类 f) @Retention(RetentionPolicy.RUNTIME):定义注解类的生命周期Source,Class,Runtime g) @Target({ElementType.METHOD,ElementType.TYPE}):标记我们的注解可以应用的在那些成员上(Type: class) h) 给自定义注解加如属性 i. 可以省略名称的 value() ii. 定义简单类型属性 String ;如果 可选设置的话,必须加上 缺省default 值 iii. 定义 数组属性 int[] arrayAttr;如果只有一个值的时候,可以省略{} iv. 定义 枚举类型的数组 TrafficLamp [] lamp() default TrafficLamp.RED; v. 定义 注解类型的的属性 vi. 定义 Class 类型
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 1008public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2285经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5667package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 1008import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1057/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 1014//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1828更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1420import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 820import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2401import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 927// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1176import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 806import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1150import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3897import java.util.Calendar; ... -
java 多线程同步+通信
2016-08-01 16:48 970/** *父子线程 交替打印10 次, 100次 ... -
java 线程同步
2016-08-01 16:43 1028import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1844Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 1015/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2235package out; import ja ...
相关推荐
### Java之浅谈深说——教你如何成长为Java编程高手 在IT行业中,Java作为一种广泛使用的编程语言,其重要性不言而喻。对于希望成为Java编程高手的学习者来说,掌握正确的学习路径至关重要。本文将根据提供的标题、...
浅谈Spring常用注解 浅谈Spring常用注解是Spring框架中的一些基本概念,了解这些概念对于 MASTERING SPRING Framework非常重要。本文将对Spring中常用的注解进行分类和介绍,并对每个注解的使用进行解释。 一、...
### Java自学之路详解 在IT行业中,Java作为一门历史悠久且广泛应用的编程语言,一直以来都是学习者们的首选之一。本文基于给定的文件信息,详细阐述Java自学过程中的一些关键知识点及学习策略,旨在帮助那些希望...
Java的设计理念是简洁和可维护,但初学者往往觉得其冗长的类库和繁琐的注解令人望而生畏。理解Java的核心概念,如封装、继承和多态,以及合理选择和运用框架,可以帮助开发者减少困惑。 其次,忽视性能优化是另一个...
1. JUnit:Java中最常用的单元测试框架,支持注解驱动的测试编写。 2. TestNG:提供了更高级的功能,如并发测试、灵活的测试配置和报告。 3. Mockito:用于创建和管理模拟对象,帮助进行单元测试。 4. Selenium:...
JAVA Annotation技术允许开发者通过注解将属性和变量相结合,进而整合为一个完整的机制。这在解决计算机程序联机机制问题方面提供了技术支持,同时有助于提高代码的管理和维护效率。JDBC技术,即JAVA Database ...
首先,我们来看Struts,它是MVC框架的代表之一。基础部分,你需要理解Action、ActionForm和配置文件。Action是业务逻辑处理的主要类,ActionForm用于封装用户输入的数据,而配置文件(通常为struts-config.xml)则...
Annotation技术是Java中用于提供元数据的一种机制,它能够为代码的元素(类、方法、变量等)添加注释信息。这些信息在编译阶段或者运行时能够被工具读取,用来生成代码、做框架控制等。而远程方法调用(Remote ...
Java 注解是 Java 语言的一种特殊的注释方式,它可以在编译期或运行期对代码进行检查和处理。在本文中,我们将介绍如何使用 Java 注解来实现对类中的方法检测工具。 首先,我们需要创建一个自定义的注解 @Test,该...
Java注解是一个强大的工具,可以用于简化代码的元数据管理,提高代码的可读性和可维护性。自定义注解使得开发人员能够创建特定于领域的标记,这在构建框架、库或进行代码分析时特别有用。在上述示例中,`@MyTable`和...
在Java开发过程中,接口校验是确保数据准确性和安全性的重要环节。接口校验的目的是防止非法或不合规的数据对系统造成影响。随着软件开发复杂度的增加,选择合适的方式来实现接口校验变得尤为重要。本文将探讨Java中...
浅谈使用java实现阿里云消息队列简单封装 本文主要介绍了使用Java实现阿里云消息队列的简单封装,包括对阿里云消息队列的介绍、设计方案、消息发送和接收的实现等。 一、阿里云消息队列简介 阿里云提供了两种消息...
AR 模式的核心思想是,一个 Java 类对应数据库中的一个表,类的实例对应表中的一条记录。通过 AR,开发者可以以面向对象的方式进行数据的增删改查(CRUD)操作,无需编写大量的 SQL 语句。 在 MP 中,启用 AR 支持...
根据Javadoc的注释,这个方法的实现等同于以下代码: ```java if (map.containsKey(key)) { return map.put(key, value); } else { return null; } ``` 在JDK 8之前的版本,如果你想要实现类似的功能,你需要写更...
11. **JNI与JVM原理**:浅谈Java Native Interface(JNI),用于在Java程序中调用本地(非Java)代码,以及JVM的工作原理,包括类加载、内存管理和垃圾收集。 12. **案例分析**:可能包含一些简单的编程实例,帮助...
```java @Service("productRpc") @Profile("prod") public class ProductRpcImpl implements ProductRpc { public String productBaseInfo(Long sku) { return productResource.queryBaseInfo(Long sku); } } @...
@Configuration 注解用于定义配置类,等同于 Spring 的 XML 配置文件,使用 Java 代码可以检查类型安全。 八、@ComponentScan 注解 @ComponentScan 注解用于自动发现和装配一些 Bean。 九、@...