spring学习笔记1

[b]书写是为了更好的思考,互动是为了更多的交友。现在开始着手,书写学习笔记,书写心得感悟,关注qq空间重视别人是第一步,从同学和同事开始。[/b]
[color=darkred]我们觉得一个事情难,是因为缺乏理论基础和概念,第二是以前没有过那样的思维。[/color]
word编辑的模型图放不上来。亟待解决。同时要找到一个更好的作图方法。

Spring是一个轻量级容器,没有侵入性,可以减少factory和singleton,减少了代码量;进行有效的整合,把业务和表现分离,使得分层更合理;能与其他主流框架进行完美的集成。
Spring的基本架构如下:


本篇主要分析IOC和AOP。
IOC是控制反转,或者叫依赖注入。IOC本质是beanfactory,主要工作是创建对象bean和管理依赖。以前我们需要自己写代码创建对象和显式实现对象之间的依赖,现在交给spring,它帮我们建好,根据相应的配置,关联好依赖,注入到相应的地方。
那么我们需要做哪些工作呢?
1、配置beanfactory
2、配置依赖
3、重构控制类,提取接口
4、用注入来创建对象
注入有两种方式:构造方法和setter方法。

AOP是指面向切面编程,提供一条新的思维,即横向编程,与业务流程的纵向编程结合,是OO的一个补充。


解释如下:
目标对象(target object)是一个业务类,可能包括多个功能操作(jionpoint),各个操作中都包括同样的一个方法来处理与本业务不相关的一些功能,比如日志、事务、安全性检查,字符转换等,用Aop的话就不需要写了,配置好哪些方法需要调用的,spring会帮我们把实现动态切入到target object。

最后补充几点:
1、 在框架中配置是根本,几乎无处不在。知道配置原理和基本标签就行,其他的属性用到的时候查找手册。
2、 我们仍然需要知道业务的流程,及其实现才能进行改造。
3、 动态切入时在程序执行时进行的,会用到动态代理,包括默认的JDK和CGLIB。
4、 一个知识点:静态代理和动态代理的区别,前者是指实现和目标类相同的接口或继承,分别实现目标类的功能。缺点是大项目中工作量很大。动态代理只能代理接口,代理类都需要实现InvocationHandler类,实现invoke方法。该invoke方法就是调用被代理接口的所有方法时需要调用的,该invoke方法的返回值是被代理接口的一个实现类。最大的好处就是接口中声明的所有的方法都被转移到一个集中的方法中去处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值