IOC(DI)
1. 把自己new的东西改为由容器提供
a) 初始化具体值
b) 装配
2. 好处:灵活装配
Spring IOC配置与应用
1. 注入类型
b) setter
c) 构造方法
d) 接口注入(方法注入)
http://esffor.iteye.com/blog/96278
2. id vs. name
b) name可以用特殊字符
3. 简单属性的注入
b) <property name=… value=….>
4. <bean 中的scope属性
b) singleton 单例
c) proptotype 每次创建新的对象
5. 集合注入
6. 自动装配
b) byName
c) byType
d) 如果所有的bean都用同一种,可以使用beans的属性:default-autowire
7. 生命周期
b) lazy-init (不重要)
c) init-method destroy-methd 不要和prototype一起用(了解)
8. Annotation第一步:
a) 修改xml文件,参考文档<context:annotation-config />
9. @Autowired
a) 默认按类型by type
b) 如果想用byName,使用@Qulifier
c) 写在private field(第三种注入形式)(不建议,破坏封装)
d) 如果写在set上,@qualifier需要写在参数上
10. @Resource(重要)
a) 加入:j2ee/common-annotations.jar
b) 默认按名称,名称找不到,按类型
c) 可以指定特定名称
d) 推荐使用
e) 不足:如果没有源码,就无法运用annotation,只能使用xml
11. @Component @Service @Controller @Repository
a) 初始化的名字默认为类名首字母小写
b) 可以指定初始化bean的名字
12. @Scope
13. @PostConstruct = init-method; @PreDestroy = destroy-method;
14. <context:component-scan base-package="com.package"/>
什么是AOP
1. 面向切面编程Aspect-Oriented-Programming
a) 是对面向对象的思维方式的有力补充
2. 好处:可以动态的添加和删除在切面上的逻辑而不影响原来的执行代码
a) Filter
b) Struts2的interceptor
3. 概念:
a) JoinPoint
b) PointCut
c) Aspect(切面)
d) Advice
e) Target
f) Weave
Spring AOP配置与应用
1. 两种方式:
a) 使用Annotation
b) 使用xml
2. Annotation
a) 加上对应的xsd文件spring-aop.xsd
b) beans.xml <aop:aspectj-autoproxy />
c) 此时就可以解析对应的Annotation了
d) 建立我们的拦截类
e) 用@Aspect注解这个类
f) 建立处理方法
g) 用@Before来注解方法
h) 写明白切入点(execution …….)
i) 让spring对我们的拦截器类进行管理@Component
3. 常见的Annotation:
a) @Pointcut
b) @Before
c) @AfterReturning
d) @AfterThrowing
e) @After
f) @Around
4. 织入点语法
a) void !void
b) 参考文档(* ..)
5. xml配置AOP
a) 把interceptor对象初始化
b) <aop:config
i. <aop:aspect …..
1. <aop:pointcut
2. <aop:before
Spring 的AOP框架
待续。。。
Spring 的MVC框架
待续。。。
Spring整合Hibernate
1. Spring 指定datasource
a) 参考文档,找dbcp.BasicDataSource
i. c3p0
ii. dbcp
iii. proxool
b) 在DAO或者Service中注入dataSource
c) 在Spring中可以使用PropertyPlaceHolderConfigure来读取Properties文件的内容
2. Spring整合Hibernate
a) <bean .. AnnotationSessionFactoryBean>
i. <property dataSource
ii. <annotatedClasses
b) 引入hibernate 系列jar包
c) User上加Annotation
d) UserDAO或者UserServie 注入SessionFactory
e) jar包问题一个一个解决
3. 声明式的事务管理
a) 事务加在DAO层还是Service层?
b) annotation
i. 加入annotation.xsd
ii. 加入txManager bean
iii. <tx:annotation-driven
iv. 在需要事务的方法上加:@Transactional
v. 需要注意,使用SessionFactory.getCurrentSession 不要使用OpenSession
c) @Transactional详解
i. 什么时候rollback
1. 运行期异常,非运行期异常不会触发rollback
2. 必须uncheck (没有catch)
3. 不管什么异常,只要你catch了,spring就会放弃管理
4. 事务传播特性:propagation_required
5. read_only
d) xml(推荐,可以同时配置好多方法)
i. <bean txmanager
ii. <aop:config
1. <aop:pointcut
2. <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,注入sessionFactory
2. DAO里注入HibernateTemplate
3. save写getHibernateTemplate.save();
iv. 第二种:
1. 从HibernateDaoSupport继承
2. 必须写在xml文件中,无法使用Annotation,因为set方法在父类中,而且是final的
f) spring整合hibernate的时候使用packagesToScan属性,可以让spring自动扫描对应包下面的实体类
分享到:
相关推荐
Lotus Notes是一款强大的企业级协作应用软件,而SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在标题和描述中提到的“Notes SQL 8.5.1”是IBM提供的一款工具,它允许开发者通过ODBC...
### Notes 8.5 新功能详解 #### 一、读信更智能 在Notes 8.5中,读取电子邮件变得更加智能化。用户可以通过多种方式快速识别和管理邮件,提高工作效率。 **具体功能介绍:** - **按颜色区分发件人**:通过设置...
"2024 notes"通常指的是针对2024年CFA考试的复习笔记或教材,这些材料通常由知名培训机构如Schweser等提供,精炼了官方学习材料,并加入了解题技巧和重点解析。SchweserNotes是CFA备考中广受欢迎的一套辅助资料,它...
在不包含Sticky Notes 便签的操作系统中手动安装Sticky Notes 便签,windows server2016测试通过;包含x86及x64; 方法:1、新建 C:\Program Files\Sticky Notes 2、拷贝 en-US、slc.dll、StickyNotes.exe 至 C:\...
Goodnotes手帐模版万年历是一款专为Goodnotes和Notability用户设计的资源,旨在提升用户的记事体验。这款模版集合包含了652页丰富的设计,覆盖了多种风格和用途,旨在帮助用户更好地规划日常生活、工作计划或是个人...
### 如何改变LotusNotes工作区字体的大小 在日常工作中,我们经常需要根据个人习惯或视觉需求调整软件界面中的字体大小。对于使用LotusNotes的用户来说,更改工作区内的字体大小同样是一项实用的功能。本文将详细...
Lotus Notes,作为一款历史悠久且功能强大的邮件客户端,提供了自定义信头的方法,让用户的邮件更具特色。本文将详细介绍如何在Lotus Notes中定制专属的信头。 ### 一、理解Lotus Notes信头概念 在Lotus Notes中,...
IBM LotusNotes是一款强大的企业级协同应用软件,它集成了电子邮件、日历、任务管理、文档共享、数据库等多种功能。在LotusNotes系统中,开发者可以利用其提供的API进行应用程序的开发,实现定制化的业务需求。这里...
在IT领域,Notes客户端是IBM Lotus Domino软件的一部分,用于访问和管理电子邮件、日历、任务和其他协作工具。当首次设置Notes客户端时,一个重要的步骤是配置端口,以便正确连接到服务器。本文将深入探讨Notes...
2024年的FRM一级考试对于考生来说是一项重要的挑战,而Schweser Notes作为备考的重要参考资料,其更新版本的免费下载无疑为考生提供了宝贵的资源。 FRM一级考试主要涵盖金融市场与产品、定量分析、风险管理基础、...
这次提供的免费下载资源包括了CFA三级的SchweserNotes和Quicksheet,这些都是备考的重要参考资料。 SchweserNotes是CFA备考过程中广泛使用的教材,由Kaplan Schweser出版,以其详尽的解释和实例而闻名。这套资料...
Lotus Domino Notes是一款由IBM开发的企业级协作软件,它包含了电子邮件、日历、任务管理、即时消息、数据库和应用程序开发等功能。本安装文档将详细阐述如何在操作系统环境中正确安装和配置Lotus Domino服务器以及...
这个压缩包文件"**C-Primer-Plus-good-notes-.zip**"显然包含了一份针对该书的优质笔记,特别适合在Windows环境下使用Goodnotes阅读和学习。 **Goodnotes**是一款广受欢迎的数字笔记应用,尤其适用于Windows用户。...
NOTES分类视图的生成是LOTUS Notes应用开发中的一个重要环节,主要涉及到对视图(View)的定制和优化,以便更好地管理和展示数据。在NOTES中,视图是一种组织和检索数据库文档的方式,它允许用户按照特定的分类标准...
Notes模板详解 Notes是一款功能强大且灵活的协作软件,但许多用户并不了解Notes的模板机制和数据库结构,导致在使用Notes时遇到很多问题。今天,我们将详细介绍Notes模板的概念、创建模板的方法、模板的应用场景,...
本文主要探讨了如何使用Notes与Office之间的接口,特别是Word的邮件合并功能,来实现Notes数据库数据与Office程序的集成。这种集成能够帮助用户处理在Notes中难以完成的任务,例如标签打印、表格打印和修订显示。 1...
最新出的notes!免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费免费...
在IT环境中,Notes和Internet口令的同步是一项关键的配置,确保用户在使用Notes客户端和Web服务时能够方便地管理他们的登录凭证。以下是关于这个主题的详细解释: 首先,要实现Notes和Internet口令的同步,需要创建...
标题中的"NCSO.jar"、"notes.jar"和"pdfrender.jar"以及"JimiProClasses.zip"都指向了Java相关的库文件和压缩包。这些文件在IT领域中扮演着重要角色,尤其对于开发和运行Java应用程序至关重要。下面将详细阐述这些...
### 3M Post-it Notes Lite 使用说明详析 #### 一、产品简介 3M Post-it Notes Lite 是由全球知名的办公用品制造商3M公司推出的PC软件版本的便签应用。这款软件模仿了3M公司经典的黄色便签纸,旨在为用户提供便捷...