Spring中有三种注入方式,一种是set注入,一种是接口注入,另一种是构造方法注入。 

2) AOP切面编程

   AOP就是在代码中的纵向的编程,就如同一把刀将一个对象在需要的地方切开,假如,在service层中业务a和业务b都需要共同的操作,例如编写日志记录,与其在每一层中都添加同样的代码,那不如不如写一遍代码,让两个业务共同使用这段代码。这就是AOP切面编程。

Spring的AOP实现有两种方式:

动态代理,动态代理必须要提供接口。

CGLIB,而CGLIB实现是有继承。

框架优点:

轻量级的容器框架对代码并没有太大的侵入性。

AOP可以非常方便的的进行功能模块的编写,遵循闭合原则。

创建对象默认是单例的,即是单线程安全。

3) SPRINGMVC

   SPRINGMVC也算是Spring的一部分,但是把他单独拿出来因为他涉及MVC模式,他的思想是WEB的分层结构,即将WEB分层为MVC结构。M:model,V:view,C:controller。这种思想将整个web层进行解耦,这样维护起来就方便很多。让我们简化了很多开发。原先我们是在SERVLET中去完成所有的事情,现在我们通过分层将其变为每一层单独负责一部分,相互协调共同完成所有事情。Model来解决数据交互层,view指页面层,controller网页交互层。

Spring MVC的全部工作流程如下:

前端控制器将请求发送给页面控制器处理器,这个就是controller层,与页面请求交互,页面将委托请求交给处理器,处理器controller将判断选择哪个service层来进行处理事件,controller层调用业务对象,调用model模型,进行逻辑处理,处理返回模型数据,将数据模型返回给controller,然后controller层决定返回给哪个视图,view层页面显示给用户。

Spring MVC处理请求的流程如图1.2所示

2MVC模型

Spring MVC优势:

1.分层清晰,角色划分明显。MVC M model 数据模型,这里主要处理具体的事件,处理用户请求的具体事件,主要分为service层和DAO层,用来处理具体的逻辑事务和数据持久化。C controller在处理用户页面的数据请求,用户通过主页面向后台发送请求,由controller层来处理请求,来处理选择哪个model层来处理数据,处理完数据后将返回给view层,通过ModelAndView返回信息,V view层,页面层,这里具体是来展示不同的信息。在controller层去选择不同页面。

2、分工明确,而且扩展非常方便,因为这种分层非常好,使代码的耦合度降低,我们可以很方便的去增加任何功能。因为分层的原因,我们也可以单独去增加功能。我们可以单独去增加view层,也可以单独去增加model层,也可以去增加controller层,因为每一层功能分工明确,即可以增加也可以减去。

3、一个POJO,只有一个实体类。

4、Spring MVC和Spring无缝隙融合,这是其他框架没有的优势,springmvc其实也算是spring的一部分,所以spring 完全支持Spring MVC。

5、Spring提供的JUNIT测试,可以很方便的对model层进行测试,可以检测各个功能。

6、在view层中JSP页面,因为有非常强大的JSTL标签库,这个非常方便JSP编写。

1.1.2 Hibernate3

Hibernate并不难,无非是对JDBC进一步封装。它将代替JDBC对数据库操作,中文意思就是冬眠,是对数据的数据持久化。更加方便的时我们可以完全不用去写SQL语句,替我们完成对数据操作,我们就可以不用去学习sql语句。

我们都知道web分层,知道表示层,业务层,数据层,而hibernate就是数据层的数据持久化的框架。而持久层的框架还有MYBATIS和IBATIS和JDO,OJB,EJB的持久框。

上一篇:Android西溪湿地景区移动导览系统研究
下一篇:基于Quick-Cocos2d-x引擎的《小镇逃亡》手机游戏设计+lua源代码

浅析人工智能体系建设【5490字】

人工智能茬知识付费产业...

网络虚拟实验室体系结构研究【1450字】

智能光网络茬城域网中的...

家居智能系统建设中的标...

校园网的实验室管理运行...

宽带城域网接入层的智能...

医院财务风险因素分析及管理措施【2367字】

志愿者活动的调查问卷表

C#学校科研管理系统的设计

承德市事业单位档案管理...

AT89C52单片机的超声波测距...

中国学术生态细节考察《...

神经外科重症监护病房患...

国内外图像分割技术研究现状

公寓空调设计任务书

10万元能开儿童乐园吗,我...