`

org.springframework.beans.BeanWrapperImpl 获取一个Bean的(非final)属性

    博客分类:
  • java
阅读更多

public class TestBeanWrapper {
 
 private final Map extendProperties = new HashMap();  //只初始化一次,不能指向另一个引用
 
 private BeanWrapperImpl beanWrapper;

 private PropertyDescriptor[] descriptors;

 private boolean hasReflected = false;

 public static void main(String[] args) {
  TestBeanWrapper tb=new TestBeanWrapper();
  tb.test();
 }
 
 void test(){
  BeanWrapperImpl bi=new BeanWrapperImpl(this);
  PropertyDescriptor[] alldescriptors=bi.getPropertyDescriptors();
  
  int length=alldescriptors.length;
  List list = new ArrayList();
  
  for (int i = 0; i < alldescriptors.length; i++) {
   if (alldescriptors[i].getReadMethod() != null
     && alldescriptors[i].getWriteMethod() != null) {
    list.add(alldescriptors[i]);
    System.out.println(alldescriptors[i].getDisplayName());  //显示这个类的实例属性
   }
  }
  PropertyDescriptor[] descriptors = (PropertyDescriptor[]) list
    .toArray(new PropertyDescriptor[0]);
  
 System.out.println(descriptors.length+" list.length="+list.size());
 }

 public BeanWrapperImpl getBeanWrapper() {
  return beanWrapper;
 }

 public void setBeanWrapper(BeanWrapperImpl beanWrapper) {
  this.beanWrapper = beanWrapper;
 }

 public PropertyDescriptor[] getDescriptors() {
  return descriptors;
 }

 public void setDescriptors(PropertyDescriptor[] descriptors) {
  this.descriptors = descriptors;
 }

 public boolean isHasReflected() {
  return hasReflected;
 }

 public void setHasReflected(boolean hasReflected) {
  this.hasReflected = hasReflected;
 }

 public Map getExtendProperties() {
  return extendProperties;
 }

 
}

分享到:
评论

相关推荐

    spring_MVC源码

    14. &lt;bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /&gt; 15. 16. &lt;!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 --&gt; 17. &lt;bean class="org....

    spring的入门程序示例

    &lt;bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="suffix" value=".jsp" /&gt; &lt;/bean&gt; &lt;/beans&gt; ``` 然后,创建一个简单的Controller,比如`HelloController...

    springboot集成kafka实战项目,kafka生产者、消费者、创建topic,指定消费分区

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.context.event.EventListener; import org.spring...

    Spring集成Struts与Hibernate入门详解

    &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect &lt;prop key="hibernate.show_sql"&gt;...

    Spring 3.1.1 与 JPA2 (Hibernate 4.0.0.Final)整合-DWP

    在本文中,我们将深入探讨如何将Spring 3.1.1框架与JPA2(Java Persistence API的第二版)以及Hibernate 4.0.0.Final实现整合,以创建一个Dynamic Web Project。这个项目旨在展示如何在Web应用程序中有效地管理...

    java8+tomcat8+struts2.5+spring4.3+hibernate5.2框架搭建详细过程

    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"&gt; &lt;/bean&gt; &lt;/beans&gt; ``` **2. dispatcher-servlet.xml**: - 配置Spring MVC的相关组件。 - 示例...

    SpringTimer定时器

    -- &lt;bean id="taskScheduler" class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler"&gt; &lt;/bean&gt; --&gt; &lt;/beans&gt; ``` 这里,`&lt;task:annotation-driven /&gt;`启用基于注解的定时任务处理。 总结...

    springboot 整合消息队列kafka(kafka-with-springboot.rar)

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org....

    ssh 整合案例及所需jar包

    - `org.springframework.beans-3.0.6.RELEASE.jar`: 支持Bean属性和事件处理。 - `org.springframework.context-3.0.6.RELEASE.jar`: 支持应用上下文的创建和管理。 - `org.springframework.core-3.0.6.RELEASE....

    rabbitmq-demo(Java客户端-基础代码 + Java客户端-Spring AMQP)

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MessageSender { private final AmqpTemplate rabbitTemplate; ...

    Spring项目application.xml配置文件加解密

    import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.spring...

    springboot动态配置定时任务(schedule)

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org...

    Spring 2.0学习文档 和Spring API文档

    1. **org.springframework.beans** 包:包含了Bean工厂和各种bean相关的类,如PropertyEditor、BeanWrapper等,用于属性设置和类型转换。 2. **org.springframework.context** 包:提供了ApplicationContext接口,...

    Java实训教程 Java软件开发实战 Java开发框架介绍 spring 共88页.pptx

    &lt;org.springframework.version&gt;3.2.11.RELEASE&lt;/org.springframework.version&gt; &lt;org.hibernate.version&gt;4.2.10.Final&lt;/org.hibernate.version&gt; &lt;org.aspectj-version&gt;1.6.10&lt;/org.aspectj-version&gt; &lt;org.slf4j-...

    spring javamail 来发送动态生成的3D图象.doc

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import ...

    Springboot如何使用Redis bitmap实现签到功能含完整代码(值得珍藏)

    import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; @Service public class ...

    SpringMVC框架搭建及详解.pdf

    &lt;bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"&gt; &lt;property name="suffix" value=".jsp"/&gt; &lt;/bean&gt; &lt;!-- 配置controller --&gt; &lt;bean id="controller...

    websocket整合spring

    &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener &lt;servlet-name&gt;springMVC &lt;servlet-class&gt;org.springframework.web.servlet.DispatcherServlet &lt;param-name&gt;...

    MyBatis与Spring整合——通过官方文档进行最简单的整合

    &lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt; &lt;/bean&gt; &lt;!-- SqlSessionFactory --&gt; &lt;bean id="sqlSessionFactory" class="org.mybatis.spring...

    spring5aop注解需要jar

    implementation 'org.springframework:spring-context:5.x.x.RELEASE' // 替换为实际版本 implementation 'org.springframework:spring-aop:5.x.x.RELEASE' // 替换为实际版本 ``` 4. **配置AOP**: 在Spring ...

Global site tag (gtag.js) - Google Analytics