




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring配置优化第四章回顾与作业点评Spring配置文件中可以做哪些配置?Spring依赖注入setter注入实现方式是什么?预习检查什么是自动装配?实际开发过程中为什么拆分Spring配置文件?采用何种策略拆分Spring配置文件?本章任务优化Spring配置 简化Spring配置 本章目标掌握Spring自动装配掌握Spring配置文件中配置DataSource和SessionFactory的方法从项目实践中学习 项目开发使用Spring后,需要编写大量配置代码,可以简化吗? 项目变得庞大后,Spring配置信息可以写在多个文件中吗? Spring提供自动装配和依赖检查Spring支持
2、将配置信息分散在多个XML文件构造器注入 依赖注入的第二种注入方式:构造器注入步骤:创建带参数的构造方法,参数类型为注入类的类型配置文件中public Computer(Host host) this.host = host;演示示例:电脑运行 指导完成电脑开机2-1训练要点:利用Spring的构造器注入开发程序 掌握bean的节点的用法需求说明:通过配置节点,增加注入显示器类,完成电脑开机,在控制台输出信息 讲解需求说明指导完成电脑开机2-2实现思路及关键代码 :1、利用Eclipse建立一个Java工程2、添加jar包3、创建Computer电脑类,Display显示器类,主机类Host,
3、分别实现模拟运行方法run 4、在Computer类实现带参数构造器方法Computer(Host host,Display display) 5、创建Spring的配置文件 6、为要注入的bean添加两个节点,分别注入Host和Display的bean 7、测试完成时间:20分钟Spring自动装配2-1 什么是自动装配Spring可以自动根据属性类型、名称等进行注入如何使用自动装配autowire属性可以设置为no、byType或byName 采用byType方式,当Spring无法决定注入哪个Bean的时候,将报错Spring自动装配2-2 采用byName方式,将根据属性名称在Spri
4、ng Bean Factory中找,找到即自动注入,否则,什么都不做在上设置default-autowire属性问题:每个Bean都需要设置autowire属性,较繁琐分析:上设置default-autowire属性,常用属性值包括no、byType或byName ,影响全局节点上自动装载的设置可以覆盖全局设置演示示例:自动装配依赖检查 项目规模大的时候,byName方式和byType方式哪种更适合?Spring提供了依赖检查功能default-dependency-check属性 练习自动装配需求说明:通过配置autowire的为byName和byType完成电脑开机的案例,在控制台输出信息
5、 完成时间:20分钟拆分配置文件-拆分策略 为什么需要拆分配置文件项目规模变大,配制文件可读性、可维护性差团队开发时,多人修改同一配置文件,易发生冲突拆分策略公用配置+每个系统模块一个单独配置文件(包含dao、service、action)公用配置+DAO Bean配置+业务逻辑Bean配置+Action Bean配置两种策略各有特色,适用于不同场合拆分配置文件拆分方法 拆分配置文件两种方法配制Spring集成时:配制ContextLoadListener的contextConfigLocation属性,配置多个配置文件用,逗号隔开;或者使用通配符使用方式演示示例:拆分配置文件方法练习拆分Sp
6、ring配置文件 需求说明:把JBOA系统中的Spring配置文件applicationContext.xml拆分成四个配置文件action.xml(单独配置action bean)dao.xml(单独配置 dao bean)service.xml(单独配置 service bean)core.xml (配置数据源和SessionFactory)通过一个applicationContext.xml进行引用上面四个配置文件 完成时间:25分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解小结使用Spring构造器注入需要完成哪些设置?Spring自动装配,采用byName和b
7、yType方式的区别是什么?为什么需要自行配置DataSource开发阶段采用LocalSessionFactory开发很方便DataSource可以集中管理数据库连接生产阶段减少维护工作量使部署更简单如何在Spring中配置DataSource DataSource实现类的选择和定义普通Bean一样,指定id、类别,注入属性 站点停止时,应该调用DataSource的close方法,通过destroy-method属性配置实现 DataSource实现类根据属性文件获取到的连接信息在Spring中引用属性文件 数据库连接信息写在属性文件中采用PropertyPlaceholderConfig
8、urer可以引入属性文件,在Spring配置文件中采用$jdbc.url的方式引用属性值PropertyPlaceholderConfigurer的配置用到了List类型属性jdbc.driver = oracle.jdbc.driver.OracleDriverjdbc.url = jdbc:oracle:thin:10.0.0.116:1521:jboajdbc.username = jbitjdbc.password = bdqn配置SessionFactory 注入DataSource配置mappingResources属性,同样是配置List类型的属性配置hibernatePrope
9、rties属性,用到了Property类型的属性的配置通过mappingDirectoryLocations 或者mappingLocations属性配置映射文件位置通过JNDI从服务器容器中获取资源 通过JNDI从服务器容器中获取DataSource资源配置server.xml配置spring配置文件操作演示:通过JNDI从服务器容器中获取资源 练习配置DataSource需求说明:在JBOA系统基础上,利用第三方数据库连接池和JNDI两种方式改造原有系统的Spring配置,并调试运行成功 完成时间:25分钟使用反射创建Bean3-1 Spring中是如何根据类名配置创建Bean实例的呢?J
10、ava提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法 获取Class类实例的方法:类名.class实例名.getClass()Class.forName(className) Class类中包含getConstructors()、getFields()、getMethods() 演示示例:使用反射创建Bean 使用反射设置Bean的属性3-2 如何通过反射给现有bean的指定属性设置值?实现步骤实现public static void setProperty(Object bean,String propertyName,Object propertyValue) th
11、rows Exception方法需要使用Method方法的invoke方法使用反射设置Bean的属性3-3实现思路:通过bean.getClass()得到Class实例通过Class实例的getMethods()得到类别的所有方法根据propertyName得到setter方法方法名找到setter对应的Method实例调用Method实例的invoke方法 Spring中Bean的作用域 Spring中Bean常用两种作用域singleton:在每个Spring IoC容器中只有一个对象实例,所有引用者共享使用,Spring负责Bean的生命周期 prototype:每次引用Spring都新创建一个Bea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 20XX春节习俗介绍模板
- 2025年度新员工劳动合同电子样本示例
- 瑜伽知到课后答案智慧树章节测试答案2025年春四川卫生康复职业学院
- 房屋拆除转让合同范本
- 2025年土地长期租赁合同
- 2024年伊春市铁力市招聘城市社区工作者真题
- 2025财务咨询委托合同样本
- 2024年山东省科创集团有限公司权属企业招聘真题
- 2024年明光市市属事业单位考试真题
- 2024年酒泉市市直事业单位选调真题
- 2025年滁州市城投交通控股有限公司招聘19人笔试参考题库附带答案详解
- 2025年天津市滨城海洋文化旅游发展有限公司招聘笔试参考题库附带答案详解
- 2025年第六届(中小学组)国家版图知识竞赛测试题库及答案
- 罗伊护理个案模板
- SIEMENS-S120变频器硬件、软件培训(高端培训)课件
- CA6132普通车床使用说明书
- 教练技术红黑游戏脱盔甲
- 混凝土拆模令
- 民间资本白皮书
- 《标准韩国语》第一册 课后答案
- 空调连接管装配生产线设计
评论
0/150
提交评论