spring面试大全(二) - 程序员的艺术人生! - JavaEye技术网站!

来源:百度文库 编辑:神马文学网 时间:2024/04/20 09:36:08
2010-08-17
spring面试大全(二)
文章分类:
一、在spring中如何配容器的事务管理,相关的类有那些?
Datasouce
transactionManager
userDao要注入
Datasouce
Proxy代理
Target:userDao:代理对象(目标对象)
transactionAttributes(那些方法需要事务处理)
transactionManager(事务处理服务)
二、在spring中如何配代码的事务管理?
Datasouce
transactionManager
userDao要注入
Datasouce
transactionManager
通过如下类实现
TransactionTemplate
JdbcTemplate
三、在spring中有几种事务管理,分别是什么?
代码管理的事务处理
TransactonTemplate的execute方法中的内部类TransactionCallback中的doInTransaction方法中使用。
public void make()
{
TransactionTemplate jtm=new TransactionTemplate(this.getTransactionManager());
jtm.execute(new myClass1());
}
public class myClass1 implements TransactionCallback
{
public Object doInTransaction(TransactionStatus trans)
{
JdbcTemplate jdbc=new JdbcTemplate(dataSource);
jdbc.execute(”insert into customer(customerName) values(’b')”);
jdbc.execute(”insert into customer(customerName) values(’b')”);
return null;
}
}
容器管理的事务处理
五、spring的jdbc与传统的jdbc有什么区别,其核心类有那些?
Spring的jdbc:节省代码,不管连接(Connection),不管事务、不管异常、不管关闭(con.close() ps.close )
JdbcTemplate(dataSource):增、删、改、查
TransactionTemplate(transactionManager):进行事务处理
六、如何加入Spring到web框架中?
在web.xml中加入如下同容,在启动web服务器时加载/WEB-INF/applicationContext.xml中的内容。

context

org.springframework.web.context.ContextLoaderServlet

1

通过如下类得到ApplicationContext实例
WebApplicationContextUtils.getWebApplicationContext
七、Spring如何实现事件处理?
事件
Extends ApplicationEvent
监听器
Implements ApplicationListener
事件源
Implements ApplicationContextAware
在applicationContext.xml中配置事件源、监听器
先得到事件源,调用事件源的方法,通知监听器。
八、如何在spring中实现国际化?
在applicationContext.xml加载一个bean


message


在src目录下建多个properties文件
对于非英文的要用native2ascii -encoding gb2312 源  目转化文件相关内容
其命名格式是message_语言_国家。
页面中的中显示提示信息,键名取键值。
当给定国家,系统会自动加载对应的国家的properties信息。
通过applictionContext.getMessage(“键名”,”参数”,”区域”)取出相关的信息。
九、spring的配置的主要标签是什么?有什么作用?










十、spring与ejb2.0的事务管理比较的优缺点?
测试:
Spring:pojo
Ejb:二个接口一个类,一堆配置文件
事务类型
Spring:jdbc jta  hibernate
Ejb:jta
成本
Spring:普通容器(tomcat jboss)
Ejb:weblogic jboss
开发的周期:
Spring远比ejb快.
十一、struts+spring面试题
1.struts
Action是不是线程安全的?如果不是,有什么方式可以保证Action的线程安全?如果是,说明原因
2.MVC,分析一下struts是如何实现MVC的
3.struts中的几个关键对象的作用(说说几个关键对象的作用)
4.spring
说说AOP和IOC的概念以及在spring中是如何应用的
5.Hibernate有哪几种查询数据的方式
6.load()和get()的区别
回答:
1.Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)
2.struts是用一组类,servlet 和jsp规范实现mvc的
3.ActionFrom ActionServlet Action struts-config.xml
4.spring的核心就是IOC,通过指定对象的创建办法,描述对象与服务之间的关系,而不生成对象
5.3种,hql 条件查询() 原生sql
6.load()方法认为该数据一定存在,可以放心的使用代理来延时加载 ,如果使用过程中发现了问题,就抛出异常;
get()方法一定要获取到真实的数据,否则返回null
十二、Spring和Struts的区别?
strusts:是一种基于MVC模式的一个web层的处理。
Spring:提供了通用的服务,ioc/di aop,关心的不仅仅web层,应当j2ee整体的一个服务,可以很容易融合不同的技术struts hibernate ibatis ejb remote springJDBC springMVC
十三、aop中的关键名词有些那些,相互关系是什么?
拦截器: 代理
装备(advice)
目标对象
关切点:条件
连接点:方法、属性
十四、spring中的核心类有那些,各有什么作用?
BeanFactory:产生一个新的实例,可以实现单例模式
BeanWrapper:提供统一的get及set方法
ApplicationContext:提供框架的实现,包括BeanFactory的所有功能
十五、Spring中ApplicationContext的作用是什么?
beanFactory
国际化(getMesage)
资源管理:可以直接读取一个文件的内容(getResource)
加入web框架中(加入一个servlet或监听器)
事件处理
spring面试大全(二) - 程序员的艺术人生! - JavaEye技术网站 spring面试大全(二) - 程序员的艺术人生! - JavaEye技术网站! spring面试大全(二) - 程序员的艺术人生! - JavaEye技术网站 spring面试大全(二) - 载入Spring配置文件的方式 - ljbal - JavaEye技术网站 Spring DM Server的部署与应用 - 铁木箱子 - JavaEye技术网站 架构师害怕程序员知道的十项技能 - - JavaEye技术网站 架构师害怕程序员知道的十项技能 - - JavaEye技术网站 Spring Batch 1. 介绍 - 而立未立 - JavaEye技术网站 Spring Batch 2. 行话 - 而立未立 - JavaEye技术网站 Spring中Quartz配置 - - JavaEye技术网站c MyEclipse Spring Hibernate整合开发 - liuxinglanyue - JavaEye技术网站 Spring七大模块简介 - ljbal - JavaEye技术网站 zhangjunji111的博客 - JavaEye技术网站 给程序员们普及一下金融基础知识:通俗易懂 - jiorry - JavaEye技术网站 卡布奇诺 - JavaEye技术网站 常用内存数据库介绍(二) - titan - JavaEye技术网站 Visual C++ 编程辅助工具 - 计算机札记大全 - JavaEye技术网站 CPU调度算法 - 计算机札记大全 - JavaEye技术网站 IBM总架构师寇卫东:话说程序员的职业生涯 - 志诚自制-2010,汗水和煎熬凝聚生存的技能 - JavaEye技术网站 JSTL使用 - - JavaEye技术网站 enum用法 - - JavaEye技术网站 ant 安装 - - JavaEye技术网站 Android的MediaPlayer架构介绍 - 狂徒的 - JavaEye技术网站