spring 笔记(java版)
IOC = Inversion of control 依赖注入
- 接口注入;
- 设值注入;
- 构造子注入;
注入类型:
关键类:
BeanWrapper,BeanFactory,ApplicationContext
1、BeanWrapper:提供一套通用的属性设定机制;
实例:
BeanWrapper bw =new BeanWrapper(obj);
bw.setPropertyValue("Name","erica");
2、BeanFactory:负责创建并维护Bean实例;
实例:
XmlBeanFactory factory=new XmlFactory(is);
//"bean.xml" has "TheAction"'s config
Action action =(Action)factory.getBean("TheAction");
3、ApplictionContext:提供更多于应用架构相整合的特性,其中包括:国际化支持、资源访问、事件传播、多实例加载。
对于Web应用,spring可通过配置Web。xml加载。加载时读取*\ApplicationContext.xml配置文件进行初始化。
可通过WebApplicationContextUtils.getWebApplicationContext()方法获得当前语境的ApplicationContext实例。
- spring MVC
请求处理流程:
1、将web页面中的输入元素封装为一个(请求)数据对象;
2、根据请求的不同,调度相应的逻辑担忧,并将(请求)数据对象作为参数传入;
3、逻辑处理单元完成后,返回一个结果数据对象;
4、将结果数据对象中的数据与预先设计的表现层相融合展现给用户。
关键类:DispatcherServlet
DispatcherServlet负责请求调度的核心引擎
默认加载/WEB-INF/<Servlet name>-Servlet.xml文件,该文件包含逻辑单元的分配策略,结构为:
- ViewResolver =>>InternalResourceViewResolver
定义Viewer的类型和相关属性(V)<-->(M) - *Mapping=>>SimpleUrlHandlerMapping
定义请求与逻辑单元的关联。(link..) - *Controler=>>自定义逻辑单元
定义自定义逻辑单元的属性(C)<-->(M)
spring MVC的配置模式:
spring的DeispatcherServlet在被加载的同事会初始化spring MVC支持的几个内部模块。如viewer,异常处理,HandlerMapping等。可以通过该类自动调用的配置文件对这些模块进行初始化定义。