没有合适的资源?快使用搜索试试~ 我知道了~
2021年新spring面试宝典.doc
0 下载量 138 浏览量
2022-12-13
23:26:16
上传
评论
收藏 63KB DOC 举报
温馨提示
试读
35页
2021年新spring面试宝典.doc
资源推荐
资源详情
资源评论
Spring面试题集
1. 你普通用spring做什么?
控制反转IOC AOP
2. spring中哪个类哪个办法可用于获取bean
3. spring是什么?依照你理解详细谈谈你看法。
目:解决公司应用开发复杂性
功能:使用基本JavaBean代替EJB,并提供了更多公司应用功能
范畴:任何Java应用
简朴来说,Spring是一种轻量级控制反转(IoC)和面向切面(AOP)容器框架
。
轻量——
从大小与开销两方面而言Spring都是轻量。完整Spring框架可以在一种大
小只有1MB多JAR文献里发布。并且Spring所需解决开销也是微局限性道
。此外,Spring是非侵入式:典型地,Spring应用中对象不依赖于Spring
特定类。
控制反转——
Spring通过一种称作控制反转(IoC)技术增进了松耦合。当应用了IoC,
一种对象依赖其他对象会通过被动方式传递进来,而不是这个对象自己创
立或者查找依赖对象。你可以以为IoC与JNDI相反——
不是对象从容器中查找依赖,而是容器在对象初始化时不等对象祈求就积
极将依赖传递给它。
面向切面——
Spring提供了面向切面编程丰富支持,容许通过度离应用业务逻辑与系统
级服务(例如审计(auditing)和事务()管理)进行内聚性开发。应用
对象只实现它们应当做——完毕业务逻辑——
仅此而已。它们并不负责(甚至是意识)其他系统级关注点,例如日记或
事务支持。
容器——
Spring包括并管理应用对象配备和生命周期,在这个意义上它是一种容器
,你可以配备你每个bean如何被创立——
基于一种可配备原型(prototype),你bean可以创立一种单独实例或者
每次需要时都生成一种新实例——
以及它们是如何互有关联。然而,Spring不应当被混同于老式重量级EJB
容器,它们经常是庞大与笨重,难以使用。
框架——
Spring可以将简朴组件配备、组合成为复杂应用。在Spring中,应用对象
被声明式地组合,典型地是在一种XML文献里。Spring也提供了诸多基本
功能(事务管理、持久化框架集成等等),将应用逻辑开发留给了你。
所有Spring这些特性使你可以编写更干净、更可管理、并且更易于测试代
码。它们也为Spring中各种模块提供了基本支持。
4. 项目中如何体现Spring中切面编程,距离阐明。
面向切面编程:重要是横切一种关注点,将一种关注点模块化成一种切面。
在切面上声明一种告知(Advice)和切入点(Pointcut);告知:是指在切面
某个特定连接点(代表一种办法执行。通过声明一种org.aspectj.lang.Join
Point类型参数可以使告知(Advice)主体某些获得连接点信息。)上执行
动作。告知中定义了要插入办法。切入点:切入点内容是一种表达式,以
描述需要在哪些对象哪些办法上插入告知中定义办法。
项目中用到Spring中切面编程最多地方:声明式事务管理。
a、定义一种事务管理器
b、配备事务特性(相称于声明告知。普通在业务层类某些办法上定义事务)
c、配备哪些类哪些办法需要配备事务(相称于切入点。普通是业务类办法
上)
5. spring中可以用注入获得属性值,尚有其她方式吗?
读取配备文献
6. spring在项目中如何充当粘合剂
1、在项目中运用springIOC(控制反转或依赖注入),明确地定义组件接口(
如UserDAO),开发者可以独立开发各个组件,然后依照组件间依赖关系组
装(UserAction依赖于UserBiz,UserBiz依赖于UserDAO)运营,较好把St
ruts(Action)和hibernate(DAO实现)结合起来了。
2、spring事务管理把hibernate对数据库操作进行了事务配备。
7. spring事务如何配备
spring声明式事务配备:
1.
class="org.springframework.orm.hibernate3.LocalSessionFactory
Bean">
/WEB-INF/classes/hibernate.cfg.xml
2. 配备事务管理器
class="org.springframework.orm.hibernate3.HibernateTransactio
nManager">
3. 配备事务特性
4. 配备哪些类哪些办法配备事务
isolation设定事务隔离级别,事务管理器依照它来控制此外一种事务可以
看到本领务内哪些数据。
定义5个不同事务隔离级别:
DEFAULT:默认隔离级别,使用数据库默认事务隔离级别
READ_COMMITTED:保证一种事务修改数据提交后才干被此外一种事务
读取。此外一种事务不能读取该事务未提交数据。这种事务隔离级别可以
避免脏读浮现,但是也许会浮现不可重复读和幻像读。
READ_UNCOMMITTED:这是事务最低隔离级别,它充许别外一种事务
可以看到这个事务未提交数据。这种隔离级别会产生脏读,不可重复读和
幻像读。
REPEATABLE_READ:这种事务隔离级别可以防止脏读,不可重复读。但
是也许浮现幻像读。它除了保证一种事务不能读取另一种事务未提交数据
外,还保证了避免不可重复读。
SERIALIZABLE:这是耗费最高代价但是最可靠事务隔离级别。事务被解
决为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读。
propagation定义了7个事务传播行为
REQUIRED:
如果存在一种事务,则支持当前事务。如果没有事务则启动一种新事务。
SUPPORTS:
如果存在一种事务,支持当前事务。如果没有事务,则非事务执行。但是
对于事务同步事务管理器,SUPPORTS与不使用事务有少量不同。
REQUIRES_NEW
总是启动一种新事务。如果一种事务已经存在,则将这个存在事务挂起。
NOT_SUPPORTED 总是非事务地执行,并挂起任何存在事务。
NEVER 总是非事务地执行,如果存在一种活动事务,则抛出异常
NESTED:如果一种活动事务存在,则运营在一种嵌套事务中.
如果没有活动事务,则按TransactionDefinition.PROPAGATION_REQ
UIRED 属性执行。
嵌套事务一种非常重要概念就是内层事务依赖于外层事务。外层事务失败
时,会回滚内层事务所做动作。而内层事务操作失败并不会引起外层事务
回滚。
剩余34页未读,继续阅读
资源评论
xinkai1688
- 粉丝: 329
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功