欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    开源框架之spring笔记归纳.docx

    • 资源ID:16653973       资源大小:189.27KB        全文页数:20页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    开源框架之spring笔记归纳.docx

    1、开源框架之spring笔记归纳Spring相关知识点 11.Spring框架的作用 1*2.Spring容器对象实例化 13.Spring容器对Bean组件的管理 22)Bean对象的创建时机 24)Bean指定初始化和销毁方法 2*4.DI和IoC概念及应用 25.DI注入的基本使用 31.AOP概念 41)什么是AOP 42.通知类型 53.切入点表达式 5*a.方法限定表达式 5*b.类型限定表达式 6c.Bean的id值限定表达式 6d.参数限定表达式 61.Spring的注解配置 61)组件的自动扫描 6JdbcTemplate基本使用: 82)Spring如何整合Hibernate

    2、技术 81. SSH框架工作流程 9整合SSH两种方案: 10方案一: 10方案二: 11Spring开发异常处理: 12ssh中哪些用到了动态代理? 13Spring相关知识点1.Spring框架的作用 利用Spring框架整合Struts2,Hibernate等技术,可以管理应用 程序中的DAO,Service等组件.利用Spring的IoC和AoP机制实现组件对象之间的低耦合调用.改善程序结构,便于扩展和维护.*2.Spring容器对象实例化 BeanFactory-ClassPathResource(加载src下xml配置) -FileSystemResource(加载其他目录下的xm

    3、l配置) ApplicationContext(推荐)-ClassPathXmlApplicationContext -FileSystemXmlApplicationContext 容器实例化后,通过getBean(id属性)方法获取容器中的Bean对象.3.Spring容器对Bean组件的管理 *1)Bean对象创建方式 默认支持singleton和prototype模式. 默认为singleton,可以在定义时用scope=指定 singleton:容器中只存在一个Bean对象,每次getBean取出的Bean对象相同. prototype:每次getBean取出一个新的Bean对象.

    4、以后如果在Web环境中,可以通过追加配置,将scope扩展成request,session等值. 2)Bean对象的创建时机 scope=singleton时:Bean对象是随着容器创建而创建. 通过lazy-init=true属性可以将对象创建时机 推迟到调用getBean方法时. 其他创建方式:Bean对象是在getBean方法调用时创建. 3)Bean对象的销毁时机 singleton单例Bean对象,在Spring容器销毁时才销毁. 非单例交给垃圾回收期,和程序中对象变量销毁时机一样. 4)Bean指定初始化和销毁方法 可以指定对象创建时执行的初始化方法.该方法在构造方法后调用. 可以

    5、指定对象销毁前执行 的销毁方法.该方法在对象销毁之前调用.(该属性适用于singleton)*4.DI和IoC概念及应用 1)DI概念 Dependency Injection : 依赖注入技术. 在Spring容器中,两个组件之间存在调用关系,可以通过DI技术建立. 在Spring容器中,主要采用以下注入方式: a. setter方式注入(推荐) 依靠属性的set方法注入. 使用方法如下:UserSerivce-调用-UserDAO -在UserSerivce实现类中,添加一个UserDAO属性变量和setter方法 -在Spring配置文件中,为UserSerivce添加setter注入配

    6、置 b.构造方式注入 依靠构造方法注入. 使用方法: -在UserService实现类中,添加一个UserDAO属性变量 -在UserService实现类中,添加一个带参数的构造方法,参数类型为UserDAO类型. -在Spring配置中,定义构造注入 2)IoC概念Inverse of Controller 称为反向控制或控制反转.确切理解可以称为控制转移.意思是将对象创建,初始化销毁和调用关系指定这些控制逻辑提取交给第三方Spring容器负责. 在Spring框架中通过DI技术实现了IoC控制思想. - 示例:UserService调用UserDAO体现出了IoC控制思想. 由Spring

    7、容器负责Service和DAO对象创建和销毁,并且由Spring容器负责控制这两个组件对象的使用关系.其中Spring容器在指定使用关系时,采用了DI技术建立关系.5.DI注入的基本使用 在使用Spring的DI时,可以注入多种数据类型. 例如注入Bean对象,注入基本类型数据,注入一些集合数据. *1)注入Bean对象 用ref指定Bean对象的id值. 2)注入基本类型数据 用value指定字符串或数值数据. 3)注入集合类型数据 a. List集合 b.Set集合 c.Map集合 d.Properties集合 -练习- 案例1:采用Spring IoC方式实现UserService和Us

    8、erDAO调用 案例2:练习MessageService,注入各种类型数据. 理论重点:DI和IoC概念,Spring对Bean组件的管理1.AOP概念 1)什么是AOP Aspect Oriented Programming (面向方面编程) OOP是面向对象编程,AOP是在OOP基础之上一种更高级的设计思想. OOP和AOP之间也存在一些区别,OOP侧重于对象的提取和封装. AOP侧重于方面组件,方面组件可以理解成封装了通用功能的组件,方面组件可以通过配置方式灵活的切入到某一批目标对象方法上. 2)相关概念 *a.方面组件(Aspect) 封装了共同处理逻辑,将来可以切入到其他目标对象方法

    9、上的. 例如事务控制,日志记录,权限控制等都可以采用方面组件封装 *b.切入点(Pointcut) 用于指定目标对象或方法的一个表达式.符合该表达式的方法将来启用方面组件更能处理. c.连接点(JoinPoint) 连接点是切入点集合的一个元素.包含了方面组件与某一个目标方法衔接的所有信息. *d.通知(Advice) 用于指定方面组件在目标方法上执行的时机. 例如在目标方法之前调用,在目标方法之后调用等. e.目标对象(Target) 通过切入点指定的对象.或者说成要启用方面组件功能的对象 f.动态代理(AutoProxy) Spring的AOP机制采用了动态代理技术实现. 当某个目标组件采

    10、用AOP切入之后,通过Spring容器getBean方法返回的对象,是一个动态生成的代理类型.后续使用代理对象执行业务方法时,代理对象会在内部调用目标方法和方面组件方法. 3)AOP应用示例 -AOP编程步骤- a.先根据需求提取方面组件功能,并编写实现. b.根据需求提取目标对象,编写切入点表达式. c.根据需求选择方面功能和目标对象的切入时机,即选择合适的通知类型 e.在spring容器配置中添加以下配置 -将方面组件和目标组件都添加定义 -添加aop配置元素.指定方面组件,切入点,通知元素. 2.通知类型 通知决定了方面组件功能在目标对象方法上执行的时机. Spring框架提供了以下5中

    11、类型通知. a.前置通知 方面功能在目标方法之前调用. b.后置通知 方面功能在目标方法之后调用.(如果目标方法抛出异常则不会执行方面功能) c.最终通知 方面功能在目标方法之后调用.(目标方法有无异常都会执行方面功能) d.环绕通知 方面功能在目标方法之前和之后调用. e.异常通知 方面功能在目标方法抛出异常之后调用. - try /前置通知 /环绕通知-前置部分 执行目标方法 /环绕通知-后置部分 /后置通知 catch() /异常通知 finally /最终通知 3.切入点表达式 用于指定目标对象及其方法.*a.方法限定表达式 execution(修饰符? 返回类型 方法名(参数列表)

    12、抛出异常?) 示例1:匹配所有对象中以set开始的方法. execution(* set*(.) 示例2:匹配UserService类中的所有方法 execution(* tarena.service.UserService.*(.) 示例3:匹配tarena.service包下所有类的所有方法 execution(* tarena.service.*.*(.) 示例4:匹配tarena.service包下及其子包中所有类的所有方法 execution(* tarena.service.*.*(.)*b.类型限定表达式 within(包名.类名) 示例1:匹配UserService类中所有方法

    13、 within(tarena.service.UserService) 示例2:匹配tarena.service包下所有类的方法 within(tarena.service.*) 示例3:匹配tarena.service包及其子包中所有类型的方法 within(tarena.service.*)c.Bean的id值限定表达式 bean(Bean组件定义的Id或Name值) name和id作用相同,区别是name允许使用/特殊字符,而id不允许. 示例1:匹配Bean定义时id=userService的对象的方法 bean(userService) 示例2:匹配Bean定义时id值以Servic

    14、e结尾的对象的方法 bean(*Service)d.参数限定表达式 args(参数类型) 示例1:匹配只有一个参数,而且类型符合List的方法 args(java.util.List) 提示:以上表达式可以组合应用,利用&,|进行连接.1.Spring的注解配置 从Spring2.5版本开始,支持两套配置方法,即Schema XML方式和注解方式. 从JDK5.0开始支持注解技术,spring2.5基于jdk5.0技术. 注解方式特点:简单,方便,快捷. 1)组件的自动扫描 可按指定包路径,扫描该包下所有类,遇到指定注解标记,会将该Bean组件纳入到Spring容器.(等价与) -使用方法如下

    15、- a.首先在Spring XML配置文件开启组件扫描,指定扫描路径 b.在类定义前面使用下列标记 Component : 通用(各种组件都可以) Controller : 控制组件使用 (Action) Service : 业务组件使用 (Service) Repository : 数据访问组件使用 (DAO) 注意:扫描bean组件,默认用类名首字母小写当id属性值.如果需要自定义,可以用Repository(id值) c.如果需要对Bean对象创建进行控制,可以使用以下注解 Scope : 等价于原scope属性 PostConstruct : 等价于原init-method属性 Pre

    16、Destroy : 等价于原destory-method属性 d.如果需要将一个Bean对象给另一个Bean注入 定义一个Bean对象变量,然后在变量定以前或setter方法定义前使用下面两种DI注入的注解配置. Resource : 可以按类型匹配 Resource(name=id值) : 按指定id值名称匹配 Autowired : 可以按类型匹配 Autowired Qulifier(id值) : 按指定id值名称匹配 2)AOP注解配置 -使用方法如下- a.在Spring XML配置中开启AOP注解配置 b.定义方面组件,在方面组件中使用下面注解标记 Component /将方面组件

    17、扫描到容器(类定义前使用的标记) Aspect /将当前组件指定为方面组件(类定义前使用的标记) Pointcut(表达式) /指定切入点表达式(方法定义前使用的标记) AfterThrowing()/异常通知(处理方法前使用) AfterReturning()/后置通知(处理方法前使用) After()/最终通知(处理方法前使用) Before()/前置通知(处理方法前使用) Around()/环绕通知(处理方法前使用) 2.Spring整合数据访问技术 Spring框架提供了整合JDBC和Hibernate等技术的支持. Spring框架对数据访问基础主要提供了以下支持. -Spring提

    18、供了一致的异常处理,Spring提供了一套异常类型,封装了不同数据访问技术的特有异常类型. 例如DataAccessException -Spring提供了一套DAO支持类. DaoSupport,Template系列组件. 例如JdbcDaoSupport,HibernateDaoSupport JdbcTemplate,HibernateTemplate -Spring提供了统一的事务处理(采用AOP方式管理).=1)Spring如何整合JDBC技术 a.首先引入JDBC相关的开发包 驱动开发包(mysqldriver.jar), 连接池开发包(commons-dbcp.jar,commo

    19、ns-collection.jar,commons-pool.jar) b.根据数据表编写实体类 c.编写DAO实现(基于JdbcDaoSupport,JdbcTemplate两个类) d.在Spring容器中配置DAO.需要注入dataSource对象. getBean(dao)-UserDAO(使用template)-注入-DataSource(Connection资源) JdbcTemplate基本使用: update() : 用于执行insert,update,delete操作的SQL语句 queryForObject: 用于执行最多返回一行记录的select查询 query:用于执行

    20、返回多行记录的select查询 queryForInt:用于执行返回一行一列的select查询.2)Spring如何整合Hibernate技术 a.引入以下开发包 mysql驱动 dbcp连接池 hibernate开发包 b.根据表添加实体类和hbm.xml映射文件 c.编写DAO实现(基于HibernateDaoSupport,HibernateTemplate两个类) d.在Spring容器中配置DAO.需要注入sessionFactory对象. UserDAO(使用template)-注入-SessionFactory-注入-DataSource(Connection资源)Hiberna

    21、teTemplate的使用: save() : 保存对象 update() : 更新对象 delete() : 删除对象 get()/load() : 按主键id查询 find() : 执行hql语句=练习=1.采用Spring+JDBC方式实现对d_user的基本操作2.采用Spring+Hibernate方式实现对d_user的基本操作 -回顾Spring整合Hibernate步骤-1)按以下顺序引入开发包 a.Spring的IoC和Aop开发包 b.Hibernate开发包(含驱动) c.dbcp开发包2)添加实体类和hbm.xml映射文件3)编写DAO接口,然后编写实现类4)在Spri

    22、ng容器中配置DAO组件.5)完毕,测试DAOSpring整合Struts2步骤-6)引入Struts2核心开发包(6个)7)添加Struts2 struts.xml配置文件和web.xml控制器配置8)根据请求编写Action组件,采用注入方式使用dao对象9)在Spring容器配置Action Bean.注入需要的DAO组件10)在struts.xml配置Action和请求的对应关系 -添加一个整合插件包struts2-spring-plugin.jar. 可以使struts访问spring容器. -元素的class属性与spring容器中元素的id值一致11)在web.xml中添加Con

    23、textLoaderLisener配置,在启动时实例化Spring容器12)修改JSP,利用标签和表达式显示数据=1.SSH框架工作流程 1)启动Tomcat服务器. -加载web.xml,创建StrutsFilter控制器对象和ContextLoaderLisener对象 -创建Struts控制器时,需要加载struts.xml,struts-plugin.xml,sstruts-default.xml,default.properties -创建ContextLoaderLisener对象时,需要加载spring的xml配置 2)浏览器发送请求,请求进入StrutsFilter控制器对象

    24、-如果请求为list.action或/list格式,属于Action请求,会进入struts.xml中寻找匹配的定义 -如果请求为其他格式,例如/list.jsp,属于非Action请求会直接去调用jsp资源生成响应. 3)在struts.xml配置中,根据定义,由struts-spring-plugin.jar 提供的ObjectFactory去Spring容器获取Action对象 4)Spring容器创建Action对象,将DAO注入给Action对象,给Struts返回. 5)Struts控制器调用Action对象进行请求的处理,处理完毕返回一个String类型的result标识. 6)

    25、Struts2控制器根据result标识调用Result组件对象生成响应信息. 7)将响应信息输出给客户端. list.action-web.xml-struts.xml-applicationContext.xml整合SSH两种方案:方案一:方案分析:Action交给Spring容器管理。缺点:增加了Spring容器的负担。方案二:方案分析:Action独立管理,和单独使用Struts时一样。优点:减少了Spring容器的负担,开发简单。1.Spring框架事务处理 Spring提供以下两种事务管理方式;*1)声明式事务管理(通过配置实现)a.首先在Spring容器定义一个事务管理Bean组

    26、件 DataSourceTransactionManager(适用于JDBC技术) HibernateTransactionManager(适用于Hibernate技术)b.采用SpringAOP配置方式将事务管理Bean作用到目标对象方法 2)编程式事务管理(通过编码实现) public Object someServiceMethod() return transactionTemplate.execute(new TransactionCallback() public Object doInTransaction(TransactionStatus status) updateOper

    27、ation1(); return resultOfUpdateOperation2(); ); 2.SpringAOP事务管理的事务类型REQUIRED-支持当前事务,如果当前没有事务,就新建一个事务。 这是最常见的选择。SUPPORTS-支持当前事务,如果当前没有事务,就以非事务方式执行。MANDATORY-支持当前事务,如果当前没有事务,就抛出异常。REQUIRES_NEW-新建事务,如果当前存在事务,把当前事务挂起。NOT_SUPPORTED-以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。NEVER-以非事务方式执行,如果当前存在事务,则抛出异常。NESTED-如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与REQUIRED类似的操作。拥有多


    注意事项

    本文(开源框架之spring笔记归纳.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开