spring MVC

来源:互联网 发布:有关网络暴力的法律 编辑:程序博客网 时间:2024/06/05 17:32

一、核心开发步骤:

1、  前端控制器(DispatcherServlet)在web.xml中的部署描述,从而拦截请求到Spring Web MVC

2、  处理器映射(HandlerMapping)的配置,从而将请求映射到处理器

3、  处理器适配器(HandlerAdapter)的配置,从而支持多种类型的处理器

4、 视图解析器(ViewResolver)的配置,从而将逻辑视图名解析为具体视图技术

5、处理器(页面控制器)的配置,从而进行功能处理

二、IOC

1、控制反转:IOC容器控制对象,主要控制获取外部资源;反转,依赖对象的获取方式反转了

2、理解DI的关键“谁依赖谁,为什么需要依赖,谁注入了谁,注入了什么?”

应用程序依赖IOC容器;以为应用程序需要IOC容器提供对象需要的外部资源;IOC容器注入了应用程序某个对象,应用程序依赖的对象;注入某个对象所需要的外部资源(包括对象、资源、常量数据)

依赖注入有两种方式:设值注入和构造注入; 如果依赖关系(或继承关系)较为复杂,使用设置注入好点,构造注入可以在构造期间即创造一个合法的对象

二者区别:创建实例时,属性的创建时机不同,设置注入是先通过无参数的构造器创建一个bean实例,然后调用setter方法注入依赖关系;而构造注入则直接调用有参数的构造器,当bean实例创建完成后,已经完成了依赖关系的注入。

三、Spring的自动装配(byName;byType)    好处:大幅度减少Spring配置;<bean>的autowire属性有如下六个取值,他们的说明如下: 

1、 No:即不启用自动装配。Autowire默认的值。 

2、 byName:通过属性的名字的方式查找JavaBean依赖的对象并为其注入。比如说类Computer有个属性printer,指定其autowire属性为byName后,Spring IoC容器会在配置文件中查找id/name属性为printer的bean,然后使用Seter方法为其注入。 

3、 byType:通过属性的类型查找JavaBean依赖的对象并为其注入。比如类Computer有个属性printer,类型为Printer,那么,指定其autowire属性为byType后,Spring IoC容器会查找Class属性为Printer的bean,使用Seter方法为其注入。 

4、 constructor:通byType一样,也是通过类型查找依赖对象。与byType的区别在于它不是使用Seter方法注入,而是使用构造子注入。 

5、 autodetect:在byType和constructor之间自动的选择注入方式。 

6、 default:由上级标签<beans>的default-autowire属性确定。

byName和byType区别:byName快,因为byName是直接反射,byType需要遍历applicationContext;对于后者,若类中包含有两个及以上相同的属性时,注入的时候就会出错

四、spring 在一个action中注入某种服务?

采用动态代理的方式即 AOP

五、Spring事务的优点:
◆为不同的事务API提供一致的编程模型,如JTA、JDBC、Hibernate、iBATIS数据库层JDO
◆提供比大多数事务API更简单的、易于使用的编程式事务管理API
◆整合Spring数据访问抽象
◆支持Spring声明式事务管理

六:MVC介绍?

视图:
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.
模型:
模型表示业务逻辑处理,进行与数据库处理有关的操作。
控制器:
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

0 0
原创粉丝点击