




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Spring应用扩展线上线下平台预习2/23拓展Spring的配置完成超市订单系统中Spring与MyBatis的集成本章任务3/23本章目标掌握更多配置数据源的方法理解Bean的作用域会使用Spring自动装配会拆分Spring配置文件4/23在Spring中引用属性文件 数据库连接信息写在属性文件中采用PropertyPlaceholderConfigurer可以引入属性文件,在Spring配置文件中采用诸如$url的方式引用属性值driver=com.mysql.jdbc.Driverurl=jdbc:mysql:/:3306/smbms?useUnicode=true&characte
2、rEncoding=utf-8user=rootpassword=rootclasspath:perties$的前后不要键入空格,以免报错!!演示示例1:使用属性文件配置数据源5/23使用JNDI数据源 通过JNDI从服务器容器中获取DataSource资源在服务器环境中配置数据源在Spring配置文件引用JNDI资源 java:comp/env/jdbc/smbms 演示示例2:使用JNDI数据源6/23学员操作使用属性文件和JNDI配置数据源需求说明:在超市订单系统的基础上,使用属性文件和JNDI两种方式改造原有系统的Spring配置,并调试运行成功完成时间:20分钟练习7/23 Spri
3、ng中Bean的作用域2-1 作用域说 明singleton默认值。Spring以单例模式创建Bean的实例,即容器中该Bean的实例只有一个prototype每次从容器中获取Bean时,都会创建一个新的实例request用于Web应用环境,针对每次HTTP请求都会创建一个实例session用于Web应用环境,同一个会话共享同一个实例,不同的会话使用不同的实例global session仅在Portlet的Web应用中使用,同一个全局会话共享一个实例。对于非Portlet环境,等同于session 仅适用于WebApplicationContext环境示例8/23 Spring中Bean的作用
4、域2-2 singleton与prototype区别:新实例getBean()getBean()getBean()新实例新实例示例示例9/23使用注解指定Bean的作用域使用Scope注解指定Bean的作用域Scope(prototype) Service(userService) public class UserServiceImpl implements UserService / 省略其他代码示例10/23Spring自动装配3-1 什么是自动装配Spring可以根据属性类型、名称等自动进行注入如何使用自动装配设置元素的autowire属性 示例示例11/23Spring自动装配3-2
5、 Spring提供的4种自动装配类型取值说明 no默认值。Spring 默认不进行自动装配,必须显式指定依赖对象 byName根据属性名自动装配。Spring 自动查找与属性名相同的id,如果找到,则自动注入,否则什么都不做 byType根据属性的类型自动装配。Spring 自动查找与属性类型相同的Bean,如果刚好找到唯一的那个,则自动注入;如果找到多个与属性类型相同的Bean,则抛出异常;如果没找到,就什么也不做 constructor和byType 类似,不过它针对构造方法。如果 Spring 找到一个Bean和构造方法的参数类型相匹配,则通过构造注入该依赖对象;如果找不到,将抛出异常
6、12/23Spring自动装配3-3 每个Bean都需要设置autowire属性,较繁琐可以为元素设置default-autowire属性,影响全局节点上autowire的设置可以覆盖全局设置自动装配使得配置文件可以非常简洁,但同时也造成组件之间的依赖关系不明确,容易引发一些潜在的错误,在实际项目中要谨慎使用 ! 提问分析示例注意13/23拆分配置文件拆分策略 为什么需要拆分配置文件项目规模变大,配置文件可读性、可维护性差团队开发时,多人修改同一配置文件,易发生冲突拆分策略公用配置+每个系统模块一个单独配置文件(包含DAO、Service、Web控制器)公用配置+DAO Bean配置+业务逻辑
7、Bean配置+Web控制器配置两种策略各有特色,适用于不同场合14/23引入拆分后的配置文件 两种方法利用ClassPathXmlApplicationContext 的重载方法可以配置多个配置文件,用逗号隔开或者使用通配符使用方式public ClassPathXmlApplicationContext( String configLocation );public ClassPathXmlApplicationContext( String configLocations );以String 方式传入多个配置文件名演示示例3:拆分Spring配置文件15/23学员操作实现对订单表的增删改操
8、作需求说明:实现订单表的添加操作实现根据订单id修改订单信息的操作实现根据订单id删除订单信息的操作要求:以Spring集成MyBatis为基础实现使用Spring事务切面实现声明式事务管理分别使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer几种不同方案进行实现完成时间:20分钟练习16/23共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 17/23学员操作实现对用户表的更新操作需求说明:实现根据用户id修改用户信息的操作实现根据用户id删除用户信息的操作实现根据用户id修改用户密码的操作要求:以Spring集成MyBatis为基础实现使用Spring事务切面实现声明式事务管理分别使用SqlSessionTemplate、MapperFactoryBean、MapperScannerConfigurer几种不同方案进行实现完成时间:20分钟练习18/23共性问题集中讲解常见问题及解决办法代码规范问题调试技巧共性问题集中讲解 19/23总结2-1数据源配置使用PropertyPlaceholderConfigurer可以加载属性文件使用JNDI的方式配置数据源配置Bean的作用域singletonprototypereq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册土木工程师线上学习试题及答案
- 考初级工的试题及答案
- 基于AI的2025年智能客服情感分析在客服中心的应用
- 2025国企面试题库及答案
- 工业互联网平台SDN在工业互联网平台设备管理中的优化应用报告
- 护士皮瓣移植试题及答案
- 宁波二模语文试题及答案
- 针对2025年市场流动性风险管理的量化投资策略绩效评估报告
- 数字孪生视角下2025年城市规划与建设中的智慧城市安防设施布局与评估优化优化报告
- 现代音乐理论与作曲技巧的结合研究试题及答案
- 数字电子技术(广东工业大学)智慧树知到期末考试答案章节答案2024年广东工业大学
- 水利安全生产风险防控“六项机制”右江模式经验分享
- 人工智能对书法技法的革新
- MOOC 知识创新与学术规范-南京大学 中国大学慕课答案
- 淄博市2024届高三二模地理试题卷(含答案)
- AI技术在电影制作中的应用
- 美洲印第安文明的发展与衰落-玛雅、阿兹特克与印加
- 静脉溶栓的出血护理
- 镇江市区房屋买卖合同书合集3篇
- 4、沥青混凝土配合比设计
- 大学《思想道德与法治》期末考试复习题库(含答案)
评论
0/150
提交评论