`
x_root
  • 浏览: 125726 次
  • 性别: 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初始化及销毁你必须要掌握的回调方法.docx

    3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...

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

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

    Java源码包100个设计实例.zip

    ejbCreate函数用于初始化一个EJB实例 EJB中JNDI的使用源码例子 EJB的真实世界模型(源代码).rar ftp文件传输 ftp简易服务器.rar HAHA CHAT Java仿QQ聊天程序源代码.rar html 标记大全.rar iCHAT聊天室基于Java.rar ...

    java源码包---java 源码 大量 实例

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA上百实例源码以及开源项目源代码

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    JAVA spring 系列案例50个和学习资料

    Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式你们都知道?Spring系列第6篇:玩转bean scope,避免跳坑里!Spring系列第7篇:依赖注入之手动注入Spring系列第8篇:自动注入...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例085 域的默认初始化值 106 实例086 编写同名的方法 107 实例087 构造方法的应用 108 5.2 修饰符的使用 109 实例088 单例模式的应用 109 实例089 祖先的止痒药方 110 实例090 统计图书的销售量 111 实例091 汉诺...

    Spring 3 Reference中文

    4.4.4 延迟初始化bean . 55 4.4.5 自动装配协作者.. 55 4.4.5.1 自动装配的限制和缺点.. 56 4.4.5.2 从自动装配中排除bean. 57 4.4.6 方法注入. 57 4.4.6.1 查找方法注入.. 58 4.4....

    spring.doc

    Lazy-init初始化bean的时机拓展: 15 3.4 Bean的作用域 16 Scope单例多例作用域拓展: 16 3.4.1 singleton(默认值) 16 3.4.2 prototype 17 3.4.3 Request 17 3.4.4 Session 18 3.4.5 Global session 18 3.4.6 指定...

    DWR.xml配置文件说明书(含源码)

    DWR已经默认定义和初始化了常用的Converter,他们分别如下: class="uk.ltd.getahead.dwr.convert.NullConverter"/&gt; class="uk.ltd.getahead.dwr.convert.PrimitiveConverter"/&gt; class="uk.ltd.getahead.dwr....

    JAVA上百实例源码以及开源项目

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java源码包2

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java源码包3

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

    java源码包4

    在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...

Global site tag (gtag.js) - Google Analytics