`
x_root
  • 浏览: 128430 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

从xml中初始化bean实例

    博客分类:
  • Java
阅读更多
需要从配置文件中初始化一个bean实例,并且里面需要包含一个Map类型的属性,相关代码如下:
xml
<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0_23" class="java.beans.XMLDecoder"> 
 <object class="UserInfo"> 
  <void property="name"> 
   <string>Jimmy</string> 
  </void> 
  <void property="password"> 
   <string>123456</string> 
  </void> 
  <void property="test"> 
   <object class="java.util.HashMap"> 
    <void method="put"> 
     <string>test1</string> 
     <string>asfdasdf</string> 
    </void> 
    <void method="put"> 
     <string>test3</string> 
     <string>aaaaaaa</string> 
    </void> 
   </object> 
  </void> 
 </object> 
</java> 

java代码:
InputStream inputStream = new FileInputStream("c:/outxml.xml");
            XMLDecoder d = new XMLDecoder(inputStream, null, null);
            Object obj = d.readObject();
            if (obj instanceof UserInfo) {
                UserInfo u = (UserInfo) obj;
                Map m = u.getTest();
                System.out.println(m.get("test1"));
                System.out.println(m.get("test3"));
            }

UserInfo类:
public static class UserInfo implements Serializable {
        private String name;
        private String password;
        private Map<String, String> test;

        public Map<String, String> getTest() {
            return test;
        }

        public void setTest(Map<String, String> test) {
            this.test = test;
        }

        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }

        @Override
        public String toString() {
            final StringBuilder sb = new StringBuilder();
            sb.append("UserInfo");
            sb.append("{name='").append(name).append('\'');
            sb.append(", password='").append(password).append('\'');
            sb.append(", test=").append(test);
            sb.append('}');
            return sb.toString();
        }
    }
分享到:
评论

相关推荐

    Spring实例化Bean顺序

    但是,这并不总是可靠的,因为Spring通常会延迟初始化Bean,除非显式要求或存在依赖关系。 2. **依赖注入**:Spring容器会根据Bean之间的依赖关系来决定实例化顺序。如果一个Bean依赖于另一个Bean,那么被依赖的...

    spring bean XML配置入门

    一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...

    java bean实例

    Java Bean实例则是已经创建并初始化了的Java Bean对象,可以被其他组件调用和操作。 Java Bean的主要特性包括: 1. **公共构造函数**:Java Bean应提供一个无参数的公共构造函数,以便于实例化。 2. **属性**:Bean...

    SpingIOC注入实例化bean

    在传统的编程模式中,开发者需要手动创建和管理对象,而在Spring IOC中,这个过程被反转,由Spring容器负责对象的创建、初始化、装配以及管理,开发者只需声明对象间的依赖,无需关心具体的实例化过程。 1. **Bean...

    浅谈spring容器中bean的初始化

    默认情况下,`lazy-init`的值为`default`或`false`,意味着容器启动时就会初始化Bean。 Bean的初始化过程包括以下几个步骤: 1. **装载Bean定义**:Spring容器读取XML配置文件,解析Bean的定义,包括其类型、依赖...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    在Spring容器初始化时,它会根据配置加载Bean的定义,并根据需要创建Bean实例。Bean的生命周期大致分为以下几个阶段:构造、初始化、正常使用、销毁。如果一个Bean被创建了两次,那么可能是在构造或初始化阶段出现了...

    Sping学习笔记(2)----实例化Bean的三种方式

    这篇“Spring学习笔记(2)----实例化Bean的三种方式”着重讲解了如何在Spring应用上下文中初始化Bean。以下是这三种方式的详细说明: 1. **XML配置方式** 在早期的Spring版本中,XML配置是最常见的实例化Bean的...

    xStream xml to bean

    在`beanToXml()` 方法中,同样需要初始化xStream实例,然后使用`toXML()` 方法将Bean对象转换为XML字符串: ```java public String beanToXml(YourBeanClass bean) { XStream xstream = new XStream(new DomDriver...

    ejbCreate函数用于初始化一个EJB实例.rar

    而在有状态会话Bean中,`ejbCreate`可以用于初始化Bean的状态,因为它需要维护与客户端会话相关的数据。 然而,在EJB 3.x及更高版本中,`ejbCreate`已被废弃,取而代之的是构造函数和注解驱动的初始化方式。开发者...

    Spring 源码分析(Bean的初始化)

    在Spring框架中,Bean的初始化是一个至关重要的过程,它涉及到从XML配置文件或者注解中读取Bean的定义,解析并构建Bean实例。本篇文章主要分析了Spring如何通过`ClassPathXmlApplicationContext`来启动和初始化Bean...

    spring001 基于xml的DI bean实例调用的是无参构造,如果需要bean对象的属性进行初始化

    就是对对象控制权的转移,从程序代码本身反转到 外部容器中,通过外部容器实现对象的创建,属性 的赋值,依赖的管理。 IOC的具体实现: 依赖注入(DI): 1.创建项目,导入jar包 2.定义类 3.创建spring的...

    实例化Spring bean的两种工厂方法

    在Spring框架中,bean的实例化是其核心功能之一,它允许我们管理应用程序中的对象生命周期。本篇将详细探讨两种工厂方法——实例工厂方法和静态...在实际项目中,应根据实际情况权衡利弊,选择最适合的Bean实例化策略。

    spring装配bean实例代码

    在Spring框架中,Bean装配是核心功能之一,它负责初始化、配置和管理应用程序中的对象。本文将深入探讨Spring装配Bean的实例代码,帮助你更好地理解这一关键概念。 首先,Spring装配Bean主要有两种方式:XML配置和...

    xstream 1.3.1.jar bean对象转换为xml

    2. **创建XStream实例**:创建一个XStream实例,通常你会初始化它并设置一些配置,比如类名别名。 ```java XStream xstream = new XStream(); xstream.alias("myBean", MyBean.class); ``` 3. **转换Bean对象**...

    ejb实体bean实例

    EJB实体Bean的生命周期由容器管理,包括实例化、初始化、激活、钝化、终止等阶段。例如,`@PostConstruct`和`@PreDestroy`注解用于标记生命周期回调方法。 ### 五、 ejb实体Bean的应用场景 EJB实体Bean常用于企业...

    spring bean的生命周期

    - **初始化回调**:Spring支持两种类型的初始化回调方法,即`@PostConstruct`注解的方法和在XML中定义的`init-method`属性指定的方法。 2. **容器管理的生命周期回调** - **Singleton Beans的懒加载**:如果Bean...

    spring管理bean应用实例代码

    - **初始化**:Spring容器在创建Bean实例后,可以调用`@PostConstruct`注解的方法进行初始化。 - **依赖注入**:Spring可以通过构造器、setter方法、字段或工厂方法来注入依赖。 - **销毁**:当Bean不再需要时,...

    spring入门学习-3、Bean装配(XML).pdf

    2. **初始化**:当Spring IoC容器加载时,会根据配置文件中的信息创建Bean实例,并执行任何指定的初始化方法。 3. **使用**:开发者可以通过Spring容器获取Bean的实例并进行使用。 4. **销毁**:在某些情况下,...

    spring学习----工厂Bean

    通过阅读Spring框架的源代码,我们可以看到FactoryBean接口的实现如何影响IoC容器的行为,以及`getObject()`和`isSingleton()`方法如何被容器调用来生成和管理Bean实例。 至于"工具"标签,FactoryBean也是Spring...

    Spring工厂方法创建(实例化)bean实例代码

    Spring工厂方法创建(实例化)bean实例代码 Spring框架中提供了多种方式来创建bean实例,包括通过构造器、静态工厂方法和实例工厂方法等。这种方式可以让开发者更好地控制bean的创建过程,实现更多的自定义需求。 ...

Global site tag (gtag.js) - Google Analytics