`
yl.fighter
  • 浏览: 256175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获取 Bean 属性 注解的 值

    博客分类:
  • Java
阅读更多
注意 : 自定义的Annotation中必须声明@Retention(RetentionPolicy.RUNTIME) . 不然不能获取 注解的值

1. 自定义Annotation
@Retention(RetentionPolicy.RUNTIME)
public @interface Hidden {
	boolean value();
}

2. Bean对象
public class CompanyBean {
	@Hidden(true)
	@Header("公司ID")
	private int companyId;
	@Header("公司编码") 
	private String member; 
	@Header("公司名称") 
	private String companyName;
.....

3. 获取属性的值

JSONArray jsonArray = new JSONArray();
		JSONObject jsonObject = null;
		
		Field[] fields = CompanyBean.class.getDeclaredFields();
		for(Field f : fields){
			jsonObject = new JSONObject();
			Class cls = f.getType();
			Hidden hidden = f.getAnnotation(Hidden.class);
			if(hidden != null){
				boolean isHidden = hidden.value();
				jsonObject.put("hidden", isHidden);
			}
			Header header = f.getAnnotation(Header.class);
			System.out.println(header);
			
			if(header != null) {
				jsonObject.put("header", header.value());
			}
			jsonObject.put("name", f.getName());
			if(!"String".equals(cls.getSimpleName())) jsonObject.put("type", cls.getSimpleName());
			if("Date".equals(cls.getSimpleName())) {
				jsonObject.put("type", "date");
				jsonObject.put("dateFormat", "Y-m-d");
			}
			jsonArray.add(jsonObject);
		}
		System.out.println(jsonArray);
分享到:
评论

相关推荐

    Java Bean 遍历和使用注解给Bean的属性添加属性值

    - **Apache Commons BeanUtils**:提供了一套方便的工具方法,用于Bean的属性遍历和值设置,如`PropertyUtils.getPropertyDescriptors(Class<?> beanClass)`可获取Bean的属性描述符。 - **Spring Framework**:...

    spring bean 属性总结

    - **id属性**:是Bean在BeanFactory中的唯一标识符,用于通过BeanFactory获取Bean实例。例如,`<bean id="myBean" class="com.example.MyClass">`。 - **name属性**:类似于`id`属性,但可以定义多个别名。例如,`...

    day38 17-Spring的Bean的属性注入:注解方式

    本文将详细讲解使用注解方式进行Bean属性注入的方法,以及相关的源码和工具应用。 首先,让我们了解Spring中的注解。在Spring 2.5版本之后,引入了基于注解的配置,这使得我们可以直接在类或方法上使用注解来声明...

    基于Spring boot @Value 注解注入属性值的操作方法

    在Bean中使用`@Value`注解可以直接获取这些属性值: ```java @RestController public class ValueController { @Value("${user.name}") private String name; @Value("${user.password}") private String ...

    通过Java反射机制获取JavaBean对象

    1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息

    spring中自定义注解(annotation)与AOP中获取注解

    System.out.println("执行前处理,注解值:" + annotation.value()); } } } ``` 在这里,`@Before`注解定义了一个前置通知,`joinPoint`对象可以用来获取方法上的注解信息。 通过这种方式,我们可以在AOP中灵活...

    学习Spring的一点代码01:如何获取bean?

    获取Bean的方式与注解配置类似。例如: ```java @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } } // 在其他类中获取Bean @Autowired private MyBean ...

    SpringBoot 获取spring bean方式.rar

    Spring Boot允许我们将配置文件的属性值绑定到特定的Bean,通过`@ConfigurationProperties`注解实现: ```java @ConfigurationProperties(prefix = "app.config") public class AppConfig { private String ...

    spring 注解注意事项、值的接受传递不同方式

    例如,`@Value("${property.name}")`可以获取配置文件中对应的属性值。 接下来,我们讨论一些使用注解时的注意事项: 1. 避免循环依赖:在设计bean时,要注意避免循环依赖,因为Spring默认的单例模式下,循环依赖...

    Spring在代码中获取bean的几种方式.rar

    以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`ApplicationContext` 接口** `ApplicationContext` 是Spring中最常用的接口之一,它提供了获取Bean的多种方法。例如,`getBean(String beanName)` ...

    sqlite 注解获取建表sql

    // 获取Bean列表 public <T> List<T> cursorToList(Cursor cursor, Class<T> clazz) { List<T> list = new ArrayList(); while (!cursor.isAfterLast()) { list.add(cursorToBean(cursor, clazz)); cursor....

    根据javabean动态获取字段以及中文名称

    javabean中有100个属性字段,想要在前端页面获取这100个字段和字段对应的中文名称,如用户名称(username),密码(password),可以动态的获取到中文名称和属性字段,并返回前端页面,本例只实现动态解析功能

    在自定义spring aop中使用el获取拦截方法的变量值。

    EL是JavaServer Faces (JSF) 和其他Java技术中用于在视图层解析表达式并获取数据的工具,它允许在运行时评估Java表达式,例如获取Bean属性、方法调用等。在Spring AOP中,EL可以帮助我们访问被拦截方法的局部变量,...

    在非spring注解类中使用spring容器中的bean_普通类中使用yml配置文件中的配置信息

    要从一个非Spring管理的类中获取Bean,我们需要先创建或获取`ApplicationContext`实例。有多种方式可以做到这一点,例如: 1. 通过`ClassPathXmlApplicationContext`或`FileSystemXmlApplicationContext`加载XML...

    Spring在代码中获取bean的方法小结

    在非Spring管理的类中,如果该类由Spring初始化,我们可以创建一个持有ApplicationContext的成员变量,并使用`@Autowired`注解进行注入,再通过ApplicationContext获取Bean: ```java @Autowired private ...

    spring中的bean

    2. **注解驱动的Bean定义**:随着Spring的发展,更多地使用注解来进行Bean的定义和配置,如`@Component`、`@Service`、`@Repository`和`@Controller`等。这些注解表明类是一个Spring Bean,同时可以配合`@Autowired`...

    Spring应用注解完成属性装配

    这里,`dbUsername`会从属性文件中读取`db.username`的值,而`javaVersion`则会获取系统的Java版本号。 另外,`@Configuration`和`@Component`也是Spring注解配置中的重要部分。`@Configuration`注解标记的类表示一...

    Spring 注解 小例子

    `@Value`注解允许直接在类中注入值,可以是从属性文件中读取的值,也可以是硬编码的字符串、数字或其他类型。 5. `@PostConstruct` 和 `@PreDestroy` 这两个注解标记了在bean初始化后和销毁前需要执行的方法。 6...

    Spring Bean创建初始化流程.docx

    5. **获取Bean实例**: 在预实例化过程中,`getBean(beanName)`被调用,这是`AbstractBeanFactory`类中的一个方法,用于从Bean工厂中获取指定名称的Bean实例。 6. **实际获取Bean**: 进入`doGetBean()`方法,这...

Global site tag (gtag.js) - Google Analytics