1springmvc工作原理
2什么是aop,aop的作用是什么
3如何优化Hibernate
4解释spring不同方式的自动装配
5为什么在Hibernate的实体类中要提供一个无参数的构造器这一点非常重要?
6和java web有关的中间件都有什么
7有了struts的mvc为什么还要spring的mvc
8下列哪种说法是正确的()
A 实例方法可直接调用超类的实例方法 B 实例方法可直接调用超类的类方法 C 实例方法可直接调用其他类的实例方法 D 实例方法可直接调用本类的类方法
9有哪些单例模式,写一个Singleton出来
10spring框架的7个模块是什么?
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并返回给客户端。
2AOP是OOP的延续,是(Aspect Oriented Programming)的缩写,意思是面向切面编程。
3 1.使用双向一对多关联,不使用单向一对多 2.灵活使用单向一对多关联 3.不用一对一,用多对一取代 4.配置对象缓存,不使用集合缓存
5.一对多集合使用Bag,多对多集合使用Set 6.继承类使用显式多态 7.表字段要少,表关联不要怕多,有二级缓存撑腰
4 1:no 默认的方式是不进行自动装配,通过手工设置ref 属性来进行装配bean
2:byName 通过参数名 自动装配,如果一个bean的name 和另外一个bean的 property 相同,就自动装配。
3:byType 通过参数的数据类型自动自动装配,如果一个bean的数据类型和另外一个bean的property属性的数据类型兼容,就自动装配
4:construct 构造方法中的参数通过byType的形式,自动装配。
5:autodetect 如果有默认的构造方法,通过 construct的方式自动装配,否则使用 byType的方式自动装配。
5 若要生成类中的实例的话,Hibernate根本不需要知道你里面还有什么参数和属性,所以用无参的来构造是最简便的
6 tomcat, websphere, weblogic, jboss等等都是web中间件,即web服务器
7 1. 机制。spring mvc的入口是servlet,而struts是filter(这里要指出,filter和servlet是不同的。2.性能.spring会稍微比struts快。
spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action ,每个action都会被注入属性,而spring基于方法
,粒度更细,但要小心把握像在servlet控制数据一样。3.参数传递。 struts是在接受参数的时候,可以用属性来接受参数,这就说明参
数是让多个方法共享的。4.设计思想上。struts 更加符合oop的编程思想, spring就比较谨慎,在servlet上扩展,5.intercepter的实现
机制。struts有以自己的interceptor机制,spring mvc 用的是独立的AOP方式。这样导致struts的配置文件量还是比spring mvc大,
虽然struts的配置能继承,所以我觉得论使用上来讲,spring mvc使用更加简洁。
8 D.
9 饿汉式class Singleton { 懒汉式
private static Singleton instance=new Singleton();
private Singleton(){}
static Singleton getInstance() {
return instance;
}
10 Core AOP DAO ORM WEB MVC Context