




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一篇:Spring概述1、Spring框架内核IoC(Inverse Of Control):反转控制。AOP(Aspect Oriented Programming):面向切面编程。2、Spring的体系结构3、Spring开发所需的资源第二篇:Spring核心之IoC(控制反转)1、拷贝核心jar包:2、IoC的概念:3、资源交给Spring管理3.1建立spring的配置文件:a、schema约束文档资料位置b、schema引入后xml没有提示的解决方案c、把DAO实现交给Spring容器(Map结构)管理3.2从Spring容器中获取资源a、把核心jar包加入到classpath中b、启动Spring容器4、依赖注入:DI(Dependency Injection)5、Spring核心类或接口核心接口:ApplicationContextClassPathXmlApplicationContext:加载位于classpath中的spring配置文件。FileSystemXmlApplicationContext:加载位于本地磁盘上的spring配置文件。了解:BeanFactory和ApplicationContext获取Bean的区别6、Bean的初始化l 方式一:使用默认的构造方法。(推荐,重点)注意:Bean要有默认的构造方法l 方式二:静态工厂方法初始化(遗留老系统)l 方式三:实例工厂方法初始化(遗留老系统)7、bean的存活范围:取值:singlton(默认值):单例的。在spring容器中实例只有一个。prototype:非单例的。用的时候都会创建新的对象。request:请求范围。(只能用在web环境下)session:会话范围。(只能用在web环境下)8、bean的生命周期有关配置注意:9、依赖注入:重点9.1通过构造方法注入9.2setter属性注入:重点9.3p名称空间:9.4SpEL:Spring Expression Language9.5注入数组或集合10、团队开发按模块编写spring配置文件。注意事项:l 同一个xml文件中不能出现相同id名称的beanl 多个xml文件可以出现id相同名称的bean,后导入的配置的会覆盖前面的配置。l11、使用注解11.0概述作用:替代xml作为配置文件。注解 VS XML注解:优点-开发直观,开发效率高。缺点-硬编码。XML:缺点-开发效率低,麻烦。优点-运行期间可配置。11.1Spring中使用注解进行配置a、jar包:还是使用核心的5个jar即可b、spring配置文件指定bean的搜索路径c、实例化资源11.2常用的注解l 资源管理:方式一:Component:把bean交给spring容器管理。默认bean的名称就是类名首字母小写方式二:Component的衍生注解,主要用在三层架构开发中Controller:表现层使用,一般动作类上Service:业务层使用Repository:持久层使用-l 资源注入:方式一:Autowired:自动注入required属性:默认值是true。注入失败,抛出错误说找不到对应的beanfalse:注入失败,抛NullPointerExceptionQualifier:指定要注入的bean的名称。要配置Autowired来使用Value:注入基本类型数据和String按类型自动注入的注意事项:l 注入属性类型为classn 如果类名(简单类名)对应的类只有一个,注入成功n 如果类名(简单类名)对应的类有多个,注入失败l 注入属性类型为interfacen 如果不存在对应接口的实现类,注入失败n 如果对应接口的实现类为一个,注入成功n 如果对应接口的实现类为多个,注入失败方式二:Resource:功能和Autowire是类似的。默认按照类型进行注入。此注解是Spring框架对JSR-250的支持。Autowire和Qualifier可以按照指定名称进行注入;Resource(name=bean的名称;l 生命周期有关注解:l 针对老系统,bean是由工厂创造的12、Spring中使用JUnita、导入jar包新增一个jar包:spring-test-3.2.0.RELEASE.jarb、如何使用单元测试第三篇:Spring核心之AOP(面向切面编程)1、代理模式l 静态代理:代理类已经写出来了,实实在在的存在的。l 动态代理:(Spring采用的)运行期间生成的,内存中的类。n 基于接口的动态代理:JDK代理,Proxy。编译时快,运行时慢。n 基于子类的动态代理:CGLIB。编译时慢,运行时快导入cglib的jar包:Spring框架用的代理:目标类实现了某个接口,用JDK代理;目标类没有实现任何接口,用CGLIB代理。2、通过一个事务管理案例,理解什么是AOP3、AOP编程思想把切面问题在运行时织入到业务代码中,这就是AOP编程专注于业务代码,不考虑切面问题;切面问题都写到公用的代码;运行期间把切面公用代码织入到业务代码中(核心技术:动态代理);4、Spring中AOP的概念l 连接点(Joinpoint):连接点指类中的方法。l 切入点(Pointcut):切入点指被抽取了共性功能的方法。l 通知(Advice):这些被抽取出来组成独立代码逻辑的共性功能称为通知。通知类别:前面、后面、返回后、最终、异常、环绕。l 引入(Introduction)l 目标对象(Target Object):目标对象指包含切入点的类对象l AOP代理(AOP Proxy)l 织入(Weaving)l 切面(Aspect):指被抽取了共性功能的方法(切入点)与被抽取了共性功能(通知)对应的绑定关系。关心的某一方面(比如:事务、日志、效率方面)AOP开发流程:5、基于XML的AOP5.1搭建AOP的Spring环境基于Spring的IoC核心的。a、拷贝必要的AOPjar包spring-aop-3.2.0.RELEASE.jarspring-aspects-3.2.0.RELEASE.jar(对aspectJ的实现).aspectj.weaver-1.6.8.RELEASE.jarb、编写核心业务代码(制定连接点)c、通知制作:切面公用代码d、Spring配置文件5.2切入点表达式5.3切入点的定义形式逐级应用范围放大方式一:特点:复用性差方式二:特点:针对该切面具备复用性方式三:特点:多个切面共用5.4通知类型帮助理解的(实际上就是一个环绕通知代码)l before:l after-returning:l after-throwing:l after:l 环绕通知:around6、注意:多个前面的通知的执行顺序7、获取原始方法的参数和返回值l 原始方法前面执行的通知:before around(before)使用场景:在原始方法执行前,利用前置通知获取参数,进行一些判断、校验等功能。l 原始方法执行后的通知:after-returning around(afeter)使用场景:在原始方法执行后,利用后置通知获取原始方法的返回值,进行一些功能上的改变。after-returning获取返回值:通知:around获取返回值:通知:l 在通知中获取产生的异常:after-throwing-8、SPring中使用注解配置AOPa、在Spring配置文件中增加以下内容b、常用注解Aspect:指定切面BeforeAfterAfterReturningAfterThrowingAroundc、多个前置(或其他)通知的执行顺序按照通知方法名称的字母排序第四篇:数据库访问及事务管理1、Spring中的JDBC只是对JDBC编码进行了薄薄的封装,不是框架。类似工具DBUtil。是一种DAO设计模式的应用2、导入jar包目前只是用:SPring+JDBC(暂时不管Hibernate的事情)3、Spring提供了一个JDBC操作模板JdbcTemplate:类似DButil中的QueryRunner方式一:方式二:方式三:4、Spring中的数据源常用的数据源l Spring数据源实现类 DriverManagerDataSource:Spring内部的l DBCP数据源 BasicDataSource 拷贝dbcp的jar包:commons-dbcp.jar commons-pool.jarl C3P0数据源 ComboPooledDataSource拷贝c3p0的jar包:l 针对老系统:老系统,一般把数据库配置信息放在properties文件中5、Spring中的JdbcTemplate(JdbcDaoSupport)进行数据库操作6、Spring中的事务管理6.1、主要的事务有关接口PlatformTransactionManager:事务管理器TransactionDefinition:事务的定义信息隔离级别:TransactionStatus:事务的状态信息6.2事务管理器的实现l DataSourceTransactionManager:用于JDBC事务管理和MyBatis事务管理。l HibernateTransactionManager:用于Hibernate事务管理器(注意使用的Hibernate版本)6.3Spring中配置事务管理器准备之前的转账代码:见 day35_03_springTx(01tx)l 编程式事务管理:(了解)在业务代码中编写事务代码。类似环绕通知,采用AOP的思想解决。l 声明式事务管理:采用AOP编程思想,通过配置文件进行织入。引入tx和aop的名称空间。注意导入AOP有关jar包。方式一:采用XMLtx:method的属性:l name:定义了参与事务的方法,可以使用*通配符。save*,update*l timeout:定义事务的超时时间。默认-1,永不超时l read-only:是否是只读事务、读写事务。默认是读写事务 true|false(默认)l no-rollback-for:指定一个异常的名称。如果遇到此异常,事务不会滚。写异常的全名l rollback-for:指定一个异常名称。如果遇到此异常,一定要回滚。l isolation:指定事务的隔离级别。l propagation:指定事务的传播行为。XXXService()public void m1()m2();public void m2()/.事务控制在业务逻辑层的所有方法上。REQUIRED:m1():开启一个事务。m2就使用m1的。m1():没有开启事务。m2就使用一个新的事务。REQUIRES_NEW:m1():开启一个事务。m2也会开启一个新的事务。m1():没有开始事务。m2也会开启一个新的事务。NOT_SUPPORTED:m1():开启一个事务。m2没有事务。m1():没有开始事务。m2没有事务。SUPPORTS:m1():开启一个事务。m2就使用m1的。m1():没有开始事务。m2没有事务。NEVER:m1():开启一个事务。m2报错。m1():没有开始事务。m2没有事务。MANDATORY:m1():开启一个事务。m2就使用m1的。m1():没有开始事务。m2报错。方式二:采用注解注解加在类上注解加在需要事务控制的接口上亦可Transactional中可以指定事务的属性第五篇:Struts2+Spring3+Hibernate3整合5.1基于XML的整合1、搭建struts2的开发环境a、拷贝必要的jar包b、在classpath下建立struts2的默认配置文件c、配置核心控制器修改web.xmld、编写测试不通过不要往下做2、搭建Spring环境a、拷贝spring的jar包core:4个aop:jdbc:web:去掉重复的jar包:mons.logging-1.1.1.jarb、让spring容器管理资源,启动一次(在JavaWeb应用中使用Spring)每一个JavaWeb应用在启动时都会创建ServletContext(且创建一次)1、在WEB-INF目录下简历一个默认名称的spring配置文件:applicationContext.xml2、配置监听器 web.xml3、获取Spring中提供的对象3、struts2整合spring方式一:原理:动作类中如果需要用到业务对象,没有去spring容器中要Service对象拷贝struts2-spring-plugin-.jar到WEB-INFlib目录中动作类中用到Service,按照名称(默认)进行注入的。方式二:动作类本身也交给Spring容器管理4、搭建Hibernate的开发环境a、拷贝必要的jar包:去掉重复的jar包:javassist-3.11.0.GA.jarb、在classpath下建立Hibernate默认的配置文件c、建立一个测试实体类d、像学习Hibernate时一样,编写一个测试类测试不通过,不要往下做5、spring整合hibernate原理:Hibernate的SessionFactory交给Spring接管不管方式一还是方式二:必须配置事务管理器,采用AOP思想方式一:Spring引入式整合解释:hibernate原来的东西不变,Spring接管SessionFac
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发团队合作与分工协议
- 小区周边农业发展协议
- 2025预期资产转让协议意向书
- 2024年氨基比林资金筹措计划书代可行性研究报告
- 2025新能源汽车二手车市场评估与流通品牌影响力研究报告
- 环保产业园园区2025年循环经济模式下的废弃物资源化利用技术评估报告
- 2024-2030年中国竹编胶合板行业市场调查研究及投资潜力预测报告
- 数字化转型对金融机构风险管理人才队伍建设的挑战与对策
- 工业互联网平台数据清洗算法在冶金行业的应用对比分析报告
- 品牌形象策划方案
- 【新教材】苏科版(2024)七年级上册数学第1-6章全册教案设计
- 9、企业研究开发组织管理水平总体情况说明
- 木垒风电勘察报告
- 屋面防水维修工程投标方案技术标
- 漫画解读非煤地采矿山重大事故隐患判定标准
- (2024年)剪映入门教程课件
- 石材的检测报告
- 文化创意行业IP打造策划书
- 2024年低压电工(特种作业操作证)考试题库及答案(通用版)
- 班组长压力和情绪管理
- 有关金融的知识讲座
评论
0/150
提交评论