spring

spring初步认识

1.使Struts和Hibernate工作的更好
2.IOC管理对象间的依赖关系
3.集成sington,一个实例。每个类都得写。还有之前通过抽象工厂把每个工厂集中起来。这些都可以通过IOC容器来管理。使工厂和singleton大量减少,代码更清晰。
4.Spring作为轻量级容器架构管理对象。
5.事务提交,回滚。独立服务。单独拿出来。方法成功commit。等
6.AOP声明式服务。
7.我们的类不需要继承和实现Spring的相关东西,就是普通类。Spring就可以管理。
8.提供基础性服务。
9.不用它也可以,但是使分层和对象管理都更好。

spring架构概述

这里写图片描述
1.Core(核心,对象的管理):

IOC控制反转:直接声明接口,具体的告诉Spring容器就可以,它会去找。找好之后传给我们,不需要我们自己new。这就是依赖注入,控制反转IOC。

举例说明:UserManager只能看懂userDao,具体的实现看不到。这样分层才合理。当拿UserManager对象的时候,会看描述的关系,发现UserManager依赖于userDao4MySql,就能找到userDao4MySql的id,找到该id 后会自动创建好。这就是spring提供的服务查找能力。

这里写图片描述

它会new好这个,给你的UserManager。然后到UserManagerImpl依赖注入:

这里写图片描述

综上:IOC,查对象,new好,注入给你。(不仅是工厂,而且管理了对象依赖。)

2.AOP:

面向切面。就像事务,各个地方都要开启并提交,跟业务逻辑独立的服务,跟业务逻辑耦合度小,可以拿出来。可以把独立服务拿出来。面向横向的服务。

AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。

举例说明:
A:过滤器,在servlet中解决参数乱码 request set encoding ,每次都要在servlet中写。而是用filter则是,每次在请求到达servlet前,先经过filter,在filter中解决乱码问题,那在servlet中解决乱码的代码就可以不要了。这样就相当于给所有的servlet加入了filter。抽取到了filter中。面向切面的体现。
这里写图片描述

B:动态代理,service中管理事务。写业务逻辑,提交事务。可以写一个事务管理器,InvocationHandler,把所有的事务处理代码都加入到invocationHandler中,通过动态代理技术将invocationHandler动态加入到service中。形成代理对象。
这里写图片描述

C:拦截器,参数赋值拦截器。校验参数,等
这里写图片描述

3.DAO:

数据访问对象。Spring中jdbc模板进一步封装,使用jdbc更容易。

4.ORM:

JPA是规范,Hibernate是实现。TopLink是oracle的框架,JDO是sun的规范,OJB是Apache。IBatist不是规范的ORM。Spring与主流框架集成。更好。大杂烩。

5.JEE

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值