利用Java注解特性加载属性文件(properties)的值到Java类 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-17
y.class); if(p!=null){ // 这里进行参数类型转换 Object para=pros.getProperty(p.name()); if((method.getParameterTypes()[0]).getName().equals("java.lang.Integer")){ para= new Integer(para.toString()); } ReflectionUtils.invokeMethod(method, bean, new Object[]{para}); } } } return bean; } @Override public void afterPropertiesSet() throws Exception { pros = mergeProperties(); } } package com.test.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.annotation.ElementType; @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) public @interface Property { String name() default ""; } package com.test; import com.test.annotation.Property; @Property public class Bean { private String name; private Integer age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } @Property(name="com.test.Bean.address") public void setAddress(String address) { this.address = address; } public Integer getAge() { return age; } @Property(name="com.test.Bean.age") public void setAge(Integer age) { this.age = age; } } package com.test; import com.test.annotation.Property; @Property public class JavaBean { private String name; private String address; public String getName() { return name; } @Property(name="com.test.JavaBean.name") public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } package com.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { /** * @param args */ public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); System.out.println("加载配置文件结束"); System.out.println("--------------------------------------------"); JavaBean javaBean=(JavaBean)context.getBean("javaBean"); System.out.println(javaBean.getName()); System.out.println(javaBean.getAddress()); System.out.println("--------------------------------------------"); Bean bean=(Bean)context.getBean("bean"); System.out.println(bean.getN |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于利用Java注解特性加载属性文件(properties)的值到Java类 - 编程入门网的所有评论