版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、user.javapublic class user private long id; private string name; private string password; private string group; public user(string name,string password) = name; this.password = password;/相应的相应的get/set方法方法.memoryuserpersist.javapublic class memoryuserpersist private static map users = new h
2、ashmap(); static user defaultadmin = new user(mike,“mm123); users.put(defaultadmin.getname(),defaultadmin); public memoryuserpersist () public void saveuser(user user) users.put(user.getname(),user); public user loaduser(string username) return (user)users.get(username); memoryuserpersist userpersis
3、t = new memoryuserpersist ( );userpersist.saveuser(user); 开发初期,将用户持久化到内存中,用于系统演示public interface userdao public void save(user user); public user load(string name);public class memoryuserdao implements userdao private static map users = new hashmap(); static user user = new user(“mike”,“mm123); user
4、s.put(user.getname(),user); public void save(user user) users.put(user.getid(),user); public user load(string name) return (user)users.get(name); userdao userdao = new memoryuserdao();userdao.save(user);public class textuserdao implements userdaopublic void save(user user) 打开数据文件 写入数据 关闭文件 public us
5、er load(string name) 打开文件; 读取数据到user u中; 关闭文件; return u; 持久化到文本文件中userdao userdao = new textuserdao();userdao.save(user);public class userdaofactory public static userdao createuserdao() return new memoryuserdao(); 客户端userregister代码片段如下:userdao userdao = userdaofactory. createuserdao( );userdao.save
6、(user);现在如果再要更换持久化方式,比如使用文本文件持久化用户信息。就算有再多的客户代码调用了用户持久化对象我们都不用担心了。因为客户端和用户持久化对象的具体实现完全解耦。我们唯一要修改的只是一个userdaofactory类。public class userdaofactory public static userdao createuserdao( ) string classname = ; classname=从属性文件中取得这个userdao的实现类全名。 userdao userdao = null; try userdao = (userdao)class.forname
7、(classname).newinstance(); catch (exception e) e.printstacktrace(); return userdao; 如果要改变持久化方案,只需要修改配置文件public class userregister private userdao userdao = null;/由容器注入的实例对象 public void setuserdao(userdao userdao) this.userdao = userdao; / userregister的业务方法string idstr=.; /解析元素的id,获取其字符串为userregister
8、;/idstr=“userreigster”string classstr=.;/解析,获取class为com.dev.spring.simple.userregister;/classstr=“com.dev.spring.simple.userregister”class clazz=class.forname(classstr); object obj=clazz.newinstance( );/建立userregister的一个对象;container.put(idstr,obj);string propertyname=.;/解析的name,获取属性名为userdao;/proper
9、tyname=“userdao”;string refstr=.; /解析的ref,获取值为usermemorydao;/refstr=“usermemorydao”string settername=set+propertyname.substring(0,1).touppercase( )+propertyname.substring(1); /生成setuserdao方法名;object parambean=container.get(refstr);method setter=clazz.getmethod(settername,parambean.getclass( );setter
10、.invoke(obj,parambean);reference:spring3.0 reference chp3-3.2 reference:spring3.0 reference chp3-3.2applicationcontext context =new classpathxmlapplicationcontext( new string “applicationcontext.xml“ );petstoreserviceimpl service = context.getbean(petstore, petstoreserviceimpl.class); 1com.mysql.jdb
11、c.driverpublic class test private map prices; /* setprices */public class test private map prices; /* setprices */ componentpublic class loginaction extends actionsupportprivate userdao userdao; resource(name=“userdaohibernateimpl”)public void setuserdao(userdao userdao) this.userdao=userdao; depend
12、son(“steelaxe”,”abc”)componentpublic class chinese implements personcomponentlazy(true)public class chinese implements personcomponentpublic class chinese implements personautowiredpublic void prepare(axe axe, dog dog) componentpublic class chinese implements person autowired private axe axe; autowired private dog dog;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东茂名市茂南区赴高校现场招聘高层次和急需紧缺学科教师84人(第二次编制)建设笔试备考题库及答案解析
- 2026陕西咸阳市公费师范生招聘100人建设考试备考试题及答案解析
- 2026四川长虹电子控股集团有限公司招聘战略管理经理等岗位3人建设考试参考题库及答案解析
- 2026年期货技术通关模拟题库含完整答案详解(名校卷)
- 2026年起重装卸机械操作工押题宝典题库A4版附答案详解
- 2026年古典名著《水浒传》练习题通关模拟题库及参考答案详解【轻巧夺冠】
- 2026年电梯安装维修工通关题库附参考答案详解(满分必刷)
- 2026年机动车考核通关模拟卷含完整答案详解(夺冠系列)
- 2026年数据结构与算法智慧树知到期末押题宝典考试题库附参考答案详解【研优卷】
- 大概念视域下的电学启蒙:电路本质与模型思维-九年级物理跨学科主题教学设计
- 【《统编小学语文教材中的女性角色分析》7200字】
- 2025年10月自考09277教师职业道德与专业发展试题及答案
- 2025年安全工作规程变电运维考试题库及答案(共100题)
- 2025年春学期八年级语文下册期中复习测试题(附答案)
- 车间稽核工作总结
- 氧气吸入操作并发症预防及处理试题(附答案)
- 毕业作业-阶段性测试一-国开(TJ)-参考资料
- 《CSCO分化型甲状腺癌诊疗指南》
- 结直肠癌预防科普课件
- 2025年海南省纪委监委所属事业单位招聘事业编制人员8人考试模拟试题及答案解析
- QFD品管圈课件教学课件
评论
0/150
提交评论