项目会经常解析properies文件,根据key获得value,下面写一个如何使用注解的方式来获得value
1. AnnotateProperties类:用来获得properties文件的路径
package AnnotateSrc;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface AnnotateProperties {
String value();
String key() default "";
}
2.Property类:用来记录键值对
package AnnotateSrc;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ ElementType.FIELD })
@Retention(RetentionPolicy.RUNTIME)
public @interface Property {
String key();
String defaultValue() default "";
}
3.Annotate:JavaBean使用注解的方式声明properties文件存放的路径
package test;
import AnnotateSrc.AnnotateProperties;
import AnnotateSrc.Property;
[color=red]@AnnotateProperties(value = "test.properties", key = "C:\\")[/color]
public class Annotate {
@Property(key = "header")
private String header_;
public String getHeader() {
return header_;
}
public void setHeader(String header) {
this.header_ = header;
}
}
4.Test :测试类
package test;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import AnnotateSrc.AnnotateProperties;
import java.util.Properties;
public class Test {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
AnnotateProperties annotationProperties = Annotate.class
.getAnnotation(AnnotateProperties.class);
String propertiesName = annotationProperties.value();
String dir = annotationProperties.key();
System.out.println(dir+propertiesName);
File f = new File(dir+"\\"+propertiesName);
Properties pro = readProperties(f);
System.out.println(pro.get("header"));
}
private static Properties readProperties(File file) throws Exception {
BufferedInputStream bis = null;
Properties prop = null;
try {
bis = new BufferedInputStream(new FileInputStream(file));
prop = new NullableProperties();
prop.load(bis);
} catch (FileNotFoundException ex1) {
throw new Exception(ex1);
} catch (SecurityException e) {
throw new Exception(e);
} catch (Exception ex2) {
throw new Exception(ex2);
} finally {
try {
if (bis != null) {
bis.close();
}
} catch (Exception ex) {
}
}
return prop;
}
public static class NullableProperties extends Properties {
public String getProperty(String key, String defaultValue) {
String origin = super.getProperty(key, defaultValue);
if (origin != null && origin.trim().length() == 0) {
// 空白
return defaultValue;
}
return origin;
}
};
}
分享到:
相关推荐
本篇文章将深入探讨Java注解的使用,包括其基本概念、类型、使用场景以及如何自定义注解。 首先,Java提供了三种预定义的注解类型,它们是: 1. `@Override`:确保方法真正重写了超类中的方法,如果找不到匹配的...
java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解代码java注解...
本文将深入探讨如何使用Java注解来构建Web服务,并结合给出的“lib”压缩包文件,推测可能包含了一些用于支持Web服务的库文件。 首先,让我们了解什么是Web服务。Web服务是一种基于互联网的软件应用,允许不同的...
"Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得更为简洁和可维护。这种技术通常与ORM(对象关系映射)框架如MyBatis或Hibernate结合使用,但也可以通过自定义处理逻辑实现。 1. **自定义...
这是自己总结的java注解 使用了思维导图,方便读取,快速阅读
Java自定义注解是Java语言中的一个重要特性,它允许我们创建自己的元数据,为代码提供额外的信息。在Java中,注解(Annotation)主要用于编译器检查、代码生成、运行时处理等方面。本文将深入探讨如何通过反射机制来...
Java注解是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中插入额外的信息,这些信息可以被编译器或者运行时环境用来执行特定的任务。注解在现代Java开发中扮演了不可或缺的角色,尤其...
Java注解(Annotation)是Java语言的一个重要特性,它为元数据提供了一种结构化的方式。元数据是在程序代码中包含的关于程序本身的信息,但这些信息并不直接影响程序的执行。注解允许开发者向编译器、JVM或工具提供...
Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据可以被编译器或运行时环境用来执行各种任务,例如代码...了解和熟练掌握Java注解的使用,对于提升Java编程的效率和质量至关重要。
Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,允许程序员在代码中插入信息,这些信息可以被编译器或运行时环境用于处理代码。注解不仅简化了开发,还增强了代码的可读性和维护性。本资料...
java注解和反射的个人学习笔记
4. **注解使用** 注解可以应用于类、接口、方法、变量等,如: ```java @MyAnnotation(number = 1, name = "Test") public class TestClass { // ... } ``` 5. **元注解** 元注解是在注解上使用的注解,...
在本视频教程中,我们将深入探讨Java注解的各个方面,包括其基本概念、使用方式以及在实际开发中的应用。 首先,我们来理解什么是Java注解。注解在Java中是一种特殊的声明,它的主要目的是提供元数据,即关于代码的...
首先,我们需要理解Java注解的基本原理。注解是一种元数据,它提供了一种安全的方法来将信息附加到代码中,而不直接影响代码的执行。Java提供了内置的注解,如`@Override`、`@Deprecated`等,但自定义注解允许我们...
本篇文章将深入探讨Java注解的使用及其在实际开发中的应用。 首先,我们了解Java注解的基本结构。一个注解以`@`符号开头,后面跟着注解类型,如`@Override`或`@Deprecated`。注解可以带有参数,参数以键值对的形式...
总的来说,Java注解与JUnit和Spring的结合,为Java开发者提供了一种高效、简洁的编程方式,使得测试、依赖管理和框架集成变得更加便捷。这两个JAR包是Java开发者日常工作中不可或缺的工具,对于保证代码质量和提升...
### 一、Java注解概述 1. **定义**: 注解是一种声明式的编程元素,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、变量等不同级别。 2. **预定义注解**: Java标准库提供了若干预定义注解,如`...
Java注解是Java编程语言中的一个重要特性,它允许在代码中添加元数据,这些元数据可以被编译器或运行时环境用来执行特定的操作。Java注解在软件开发中起着关键作用,它们简化了代码,提高了可维护性和可读性,同时也...
Java注解是Java编程语言中的一个重要特性,它们提供了一种元数据的方式,让开发者能够向编译器或运行时环境传递额外的信息。这些信息可以用来验证代码、自动生成代码、配置框架或者在运行时进行一些处理。注解的使用...