1.spring与struts的区别。
struts是一种基于mvc的一个web层管理。
spring提供了通用的服务,ioc/di aop ,关心的不仅仅是web层,而是j2ee整体的一个服务管理,可以很容易的去融合不同的技术 struts hibernate idbatis ejb remote springMVC springJDBC 。
2.什么是aop原理及其作用。
a.Aspect Orentied Programming (AOP,面向方面编程)
Object Orentied Programming (OOP,面向对象编程)
AOP编程是以OOP为基础,OOP侧重点是对象抽象和封装,
AOP侧重点是处理公共部分的封装和使用.用于改善公共组件,提高代码的可重用性。
b. AOP底层的东西就是JDK动态代理(动态代理原理又涉及到了反射机制来生成代理类)和CGLIB代理,说白了就是增强类的功能。
c.AOP常应用于安全,事务,日志等处理上,可以用来提高代码的可重用性。
3.aop中的关键名词,相互关系。
拦截器:代理
装备(advice):
目标对象:
关切点:条件
连接点:方法,属性
4.依赖注入的三种方式
Setter ,Interface ,constractor
5.spring的三大核心类及其作用
BeanFactory :产生一个新的实例,可以实现单例模式。
BeanWrapper:统一提供get,set方法。
ApplicationContext:提供框架的实现,包括BeanFactory的所有功能。
6.ApplicationContext的作用。
beanFactory
国际化(getMassage)
资源管理:可以直接读取一个文件的内容(getResource)
加入web 框架中(加入一个servlet或监听器)
事件处理
7.如何实现资源管理
使用
applicationContext.getResource("classpath:文件名");//在src根目录下
applicationContext.getResource("classpath:/chap01/文件名");//以src为根目录的相对路径
applicationContext.getResource("file:c:/a.properties");在系统文件目录下
8.加入到web框架中。
web启动时,加载/WEB-INF/applicationContext.xml,需注意在web.xml中添加:
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
获取ApplicationContext实例:
WebApplicationContextUtils.getWebApplicaionContext();
9.实现事件处理
事件:Extends Application
监听器:Implements ApplicationListener
事件源:Implements ApplicationContextAware
在applicationContext.xml中配置事件源,监听器。
先得到事件源,调用事件源的方法,通知监听器。
10.ioc/di是什么?
IOC:程序在运行过程中,根据配置文件动态加载所依赖的配置类。
11.spring国际化