1.
1)、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.
2)、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cookie等)以及HandlerMapping的配置找到处理请求的处理器(Handler)。
3-4)、DispatcherServlet根据HandlerMapping找到对应的Handler,将处理权交给Handler(Handler将具体的处理进行封装),再由具体的HandlerAdapter对Handler进行具体的调用。
5)、Handler对数据处理完成以后将返回一个ModelAndView()对象给DispatcherServlet。
6)、Handler返回的ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet通过ViewResolver将逻辑视图转化为真正的视图View。
7)、Dispatcher通过model解析出ModelAndView()中的参数进行解析最终展现出完整的view并返回给客户端。
2.将复杂的需求分解出不同方面,将散布在系统中的公共功能集中解决
采用代理机制组装起来运行,在不改变原程序的基础上对代码段进行增强处理,增加新的功能
面向切面编程(也叫面向方面编程):是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
3.1).使用双向一对多关联,不使用单向一对多
2).灵活使用单向一对多关联
3).不用一对一,用多对一取代
4).配置对象缓存,不使用集合缓存
5).一对多集合使用Bag,多对多集合使用Set
6).继承类使用显式多态
7).表字段要少,表关联不要怕多,有二级缓存撑腰
4.Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系,根据属性类型、名称等自动进行注入。在实际项目中不推荐使用。
no 默认值。Spring默认不进行自动装配,必须显式指定依赖对象。
byType 根据属性名自动装配。Sping自动查找与属性名相同的ID,如果找到,则自动注入,否则什么都不做。
byType 根据属性的类型自动装配。Spring 自动查找与属性类型相同的Bean,如果刚好找到唯一的那个,则自动注入;如果找到多个与属性类型相同的Bean,则抛出异常;如果没找到,就什么也不做。
constructor 针对构造方法。如果 Spring 找到一个Bean和构造方法的参数类型相匹配,则通过构造注入该依赖对象;如果找不到,将抛出异常。
5.Hibernate是对象关系型框架,类与类的关系主要体现在表与表之间的关系进行操作,他们都是对对象进行操作,hibernate使用Java的反射机制来创建对象时,而利用反射机制创建对象时构造方法必不可少。
6.tomcat即web服务器
7.Struts是基于类的设计,每一次请求都会实例化一个action,每个action都会被注入属性,Struts有基于自身的拦截器(interceptor)机制,Spring MVC是基于方法的设计,采用的是面向切面的编程方式。Spring MVC的核心控制器是Servlet,Struts的核心控制器是filter。
8.D
9.饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton {
private Singleton() {}
private static final Singleton single = new Singleton();
public static Singleton getInstance() {
return single;
}
}
10.核心容器(Spring Core),Spring上下文(Spring context),Spring AOP,Spring DAO,Spring ORM,Soring Web,Spring MVC
2016.03.23
最新推荐文章于 2021-03-18 14:09:32 发布