1.strust的。
Action是不是线程安全的?如果不是
有什么方式可以保证Action的线程安全?如果是,说明原因
回答:Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)
2.MVC,分析一下struts是如何实现MVC的
struts是用一组类,servlet 和jsp规范实现mvc的
3.struts中的几个关键对象的作用(说说几个关键对象的作用)
ActionFrom ActionServlet Action struts-config.xml
4.spring
说说AOP和IOC的概念以及在spring中是如何应用的
spring的核心就是IOC,通过指定对象的创建办法,描述对象与服务之间的关系,而不生成对象
5.Hibernate有哪几种查询数据的方式
3种,hql 条件查询() 原生sql
6.load()和get()的区别
load()方法认为该数据一定存在,可以放心的使用代理来延时加载 ,如果使用过程中发现了问题,就抛出异常;
get()方法一定要获取到真实的数据,否则返回null
---------------------------------------------------
1、€€简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。
€€
2、€€Spring的Bean有多种作用域,包括:
singleton、prototype、request、session、global session、application、自定义
€€
3、€€简单描述Spring framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么?
€€
4、€€Hibernate中的update()和saveOrUpdate()的区别
€€
5、€€Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。
€€
€€
€€答案:
1、€€好莱坞原则€€€€不要打电话找我,我会打给你的。IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。(详见https://www.wendangku.net/doc/c0433244.html,/articles/injection.html,以及https://www.wendangku.net/doc/c0433244.html,/spring_ref/2.0/html/beans.html#beans-factory-collaborators)
€€
2、€€除application(详见Spring framework 2.0 Reference的3.4节bean的作用域)
€€
3、€€Spring是完整的一站式框架,而Struts仅是MVC框架,且着重于MVC中的C。Spring有三种方式整合Struts:使用 Spring 的 ActionSupport 类整合 Struts;使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor;将 Struts Action 管理委托给 Spring 框架,动作委托最好。(详见使用Spring 更好地处理Struts 动作
)
Spring 2.0新增一种方式:AutowiringRequestProcessor。(详见https://www.wendangku.net/doc/c0433244.html,/topic/24239)
€€
4、€€saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下:
如果对象在该session中已经被持久化,不进行操作;
对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它;
如果session中的另一个对象有相同的标识符抛出一个异常;
以上皆不符合则调用update()更新之。
€€
5、€€在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。
在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。(详见Spring framework 2.0 Reference的12.2节Hibernate)
声明式事务需声明事务管理器,在context中设置指定属性,用确定和。