欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Spring学习流程(马士兵笔记.doc

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

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

    Spring学习流程(马士兵笔记.doc

    知识点名称介绍工作重要程度面试重要程度方法建议IOC XML * 练IOC Annotation * 练IOC 注入方式(两种) *练+背简单属性 * 集合注入 * 查自动装配 * 生命周期 *查AOP概念 * AOP配置 * 查事务管理AOP(xml annotation)*练+背hibernateTemplate * 架构 *练+理解+说OpenSessionInView * CharacterEncodingFilter * TestContext * SpringJDBCTemplate 用到现学课程内容1. 面向接口(抽象)编程的概念与好处2. IOC/DI的概念与好处a) inversion of controlb) dependency injection3. AOP的概念与好处4. Spring简介5. Spring应用IOC/DI(重要)a) xmlb) annotation6. Spring应用AOP(重要)a) xmlb) annotation7. Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合(重要)a) opensessionInviewfilter(记住,解决什么问题,怎么解决)8. Spring JDBC面向接口编程(面向抽象编程)1. 场景:用户添加2. Spring_0100_AbstractOrientedProgramminga) 不是AOP:Aspect Oriented Programming3. 好处:灵活什么是IOC(DI),有什么好处1. 把自己new的东西改为由容器提供a) 初始化具体值b) 装配2. 好处:灵活装配Spring简介1. 项目名称:Spring_0200_IOC_Introduction2. 环境搭建a) 只用IOC i. spring.jar , jarkata-commons/commons-loggin.jar3. IOC容器a) 实例化具体beanb) 动态装配4. AOP支持a) 安全检查b) 管理transactionSpring IOC配置与应用1. FAQ:不给提示:a) window preferences myeclipse xml xml catalogb) User Specified Entries add i. Location: D:/share/0900_Spring/soft/spring-framework-2.5.6/dist/resources/spring-beans-2.5.xsd ii. URI: file:/D:/share/0900_Spring/soft/spring-framework-2.5.6/dist/resources/spring-beans-2.5.xsd iii. Key Type: Schema Location iv. Key: http:/www.springframework.org/schema/beans/spring-beans-2.5.xsd2. 注入类型a) Spring_0300_IOC_Injection_Typeb) setter(重要)c) 构造方法(可以忘记)d) 接口注入(可以忘记)3. id vs. namea) Spring_0400_IOC_Id_Nameb) name可以用特殊字符4. 简单属性的注入a) Spring_0500_IOC_SimplePropertyb) <property name= value=.>5. <bean 中的scope属性a) Spring_0600_IOC_Bean_Scopeb) singleton 单例c) proptotype 每次创建新的对象6. 集合注入a) Spring_0700_IOC_Collectionsb) 很少用,不重要!参考程序7. 自动装配a) Spring_0800_IOC_AutoWireb) byNamec) byTyped) 如果所有的bean都用同一种,可以使用beans的属性:default-autowire8. 生命周期a) Spring_0900_IOC_Life_Cycleb) lazy-init (不重要)c) init-method destroy-methd 不要和prototype一起用(了解)9. Annotation第一步:a) 修改xml文件,参考文档<context:annotation-config />10. Autowireda) 默认按类型by typeb) 如果想用byName,使用Qulifierc) 写在private field(第三种注入形式)(不建议,破坏封装)d) 如果写在set上,qualifier需要写在参数上11. Resource(重要)a) 加入:j2ee/common-annotations.jarb) 默认按名称,名称找不到,按类型c) 可以指定特定名称d) 推荐使用e) 不足:如果没有源码,就无法运用annotation,只能使用xml12. Component Service Controller Repositorya) 初始化的名字默认为类名首字母小写b) 可以指定初始化bean的名字13. Scope14. PostConstruct = init-method; PreDestroy = destroy-method; 什么是AOP1. 面向切面编程Aspect-Oriented-Programminga) 是对面向对象的思维方式的有力补充2. Spring_1400_AOP_Introduction3. 好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码a) Filterb) Struts2的interceptor4. 概念:a) JoinPointb) PointCutc) Aspect(切面)d) Advicee) Targetf) WeaveSpring AOP配置与应用1. 两种方式:a) 使用Annotationb) 使用xml2. Annotationa) 加上对应的xsd文件spring-aop.xsdb) beans.xml <aop:aspectj-autoproxy />c) 此时就可以解析对应的Annotation了d) 建立我们的拦截类e) 用Aspect注解这个类f) 建立处理方法g) 用Before来注解方法h) 写明白切入点(execution .)i) 让spring对我们的拦截器类进行管理Component3. 常见的Annotation:a) Pointcutb) Beforec) AfterReturningd) AfterThrowinge) Afterf) Around4. 织入点语法a) void !voidb) 参考文档(* .)5. xml配置AOPa) 把interceptor对象初始化b) <aop:config i. <aop:aspect .1. <aop:pointcut2. <aop:beforeSpring整合Hibernate1. Spring 指定datasourcea) 参考文档,找dbcp.BasicDataSource i. c3p0 ii. dbcp iii. proxoolb) 在DAO或者Service中注入dataSourcec) 在Spring中可以使用PropertyPlaceHolderConfigure来读取Properties文件的内容2. Spring整合Hibernatea) <bean . AnnotationSessionFactoryBean> i. <property dataSource ii. <annotatedClassesb) 引入hibernate 系列jar包c) User上加Annotationd) UserDAO或者UserServie 注入SessionFactorye) jar包问题一个一个解决3. 声明式的事务管理a) 事务加在DAO层还是Service层?b) annotation i. 加入annotation.xsd ii. 加入txManager bean iii. <tx:annotation-driven iv. 在需要事务的方法上加:Transactional v. 需要注意,使用SessionFactory.getCurrentSession 不要使用OpenSessionc) Transactional详解 i. 什么时候rollback1. 运行期异常,非运行期异常不会触发rollback2. 必须uncheck (没有catch)3. 不管什么异常,只要你catch了,spring就会放弃管理4. 事务传播特性:propagation_required5. read_onlyd) xml(推荐,可以同时配置好多方法) i. <bean txmanager ii. <aop:config1. <aop:pointcut2. <aop:advisor pointcut-ref advice-ref iii. <tx:advice: id transaction-manager =e) HibernateTemplate、HibernateCallback、HibernateDaoSupport(不重要)介绍 i. 设计模式:Template Method ii. Callback:回调/钩子函数 iii. 第一种:(建议)1. 在spring中初始化HibernateTemplate,注入sessionFactory2. DAO里注入HibernateTemplate3. save写getHibernateTemplate.save(); iv. 第二种:1. 从HibernateDaoSupport继承2. 必须写在xml文件中,无法使用Annotation,因为set方法在父类中,而且是final的f) spring整合hibernate的时候使用packagesToScan属性,可以让spring自动扫描对应包下面的实体类Struts2.1.6+Spring2.5.6+ Hibernate3.3.21. 需要的jar包列表jar包名称所在位置说明antlr-2.7.6.jarhibernate/lib/required解析HQLaspectjrtspring/lib/aspectjAOPaspectjweaver.AOPcglib-nodep-2.1_3.jarspring/lib/cglib代理,二进制增强common-annotations.jarspring/lib/j2eeResourcecommons-collections-3.1.jarhibernate/lib/required集合框架commons-fileupload-1.2.1.jarstruts/libstrutscommons-io-1.3.2struts/libstrutscommons-logging-1.1.1单独下载,删除1.0.4(struts/lib)strutsspringdom4j-1.6.1.jarhibernate/required解析xmlejb3-persistencehibernate-annotation/libEntityfreemarker-2.3.13struts/libstrutshibernate3.jarhibernate hibernate-annotationshibernate-annotation/ hibernate-common-annotationshibernate-annotation/lib javassist-3.9.0.GA.jarhiberante/lib/requiredhibernatejta-1.1.jar.hibernate transactionjunit4.5 mysql- ognl-2.6.11.jarstruts/lib slf4j-api-1.5.8.jarhibernate/lib/requiredhibernate-logslf4j-nop-1.5.8.jarhibernate/lib/required spring.jarspring/dist struts2-core-2.1.6.jarstruts/lib xwork-2.1.2.jarstruts/libstruts2commons-dbcpspring/lib/jarkata-commons commons-pool.jar. struts2-spring-plugin-2.1.6.jarstruts/lib 2. BestPractice:a) 将这些所有的jar包保存到一个位置,使用的时候直接copy3. 步骤a) 加入jar包b) 首先整合Spring + Hibernate i. 建立对应的package1. dao / dao.impl / model / service / service.impl/ test ii. 建立对应的接口与类框架1. S2SH_01 iii. 建立spring的配置文件(建议自己保留一份经常使用的配置文件,以后用到的时候直接copy改) iv. 建立数据库 v. 加入Hibernate注解1. 在实体类上加相应注解Entity Id等2. 在beans配置文件配置对应的实体类,使之受管 vi. 写dao service的实现 vii. 加入Spring注解1. 在对应Service及DAO实现中加入Component,让spring对其初始化2. 在Service上加入Transactional或者使用xml方式(此处建议后者,因为更简单)3. 在DAO中注入sessionFactory4. 在Service中注入DAO5. 写DAO与Service的实现 viii. 写测试c) 整合Struts2 i. 结合点:Struts2的Action由Spring产生 ii. 步骤:1. 修改web.xml加入 struts的filter2. 再加入spring的listener,这样的话,webapp一旦启动,spring容器就初始化了3. 规划struts的action和jsp展现4. 加入struts.xmla) 修改配置,由spring替代struts产生Action对象5. 修改action配置a) 把类名改为bean对象的名称,这个时候就可以使用首字母小写了b) Scope(“prototype”)不要忘记 iii. struts的读常量:1. struts-default.xml2. struts-plugin.xml3. struts.xml4. struts.properties5. web.xml iv. 中文问题:1. Struts2.1.8已经修正,只需要改i18n.encoding = gbk2. 使用spring的characterencoding3. 需要严格注意filter的顺序4. 需要加到Struts2的filter前面 v. LazyInitializationException1. OpenSessionInViewFilter2. 需要严格顺序问题3. 需要加到struts2的filter前面

    注意事项

    本文(Spring学习流程(马士兵笔记.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开