Java面试题-Spring


Java, 面试题, Spring
113. 什么是aop,aop的作用是什么?
Oop:纵向的业务
Aop:oop的一个横向的服务,是对oop进一步的补充,提供安全、事务、日志等的集中式处理,相关的装备before、around、after
114. aop中的关键名词有些那些,相互关系是什么?
代理
  拦截器(顾问 advisor)
  装备(advice)
  目标对象
  关切点:那些方法
连接点:方法、属性
115. 依赖注入的方式有几种,各是什么?
Interface
  Setter
  constructor
116. spring中的核心类有那些,各有什么作用?
BeanFactory:产生一个新的实例,可以实现单例模式
  BeanWrapper:提供统一的get及set方法
ApplicationContext:提供框架的实现,包括BeanFactory的所有功能
117. spring的ioc及di代表什么意思?
控制权由代码转向容器,通过容器动态将某些对象加入。
118. 如何在spring中实现国际化?
    在applicationContext.xml加载一个bean
    message.properties是一个键名加键值的文件,
    在用之前通过native2ascii -encoding gb2312 源  目转化文件相关内容
    其命名格式是message_语言_国家。
    在页面中的提示是以键名取键值。
    当给定国家,系统会自动加载对应的国家的properties信息。

119. spring的配置的主要标签是什么?有什么作用?
<beans>
   <bean id=”” class=”” init=”” destroy=”” singleton=””>
    <property name=””>
     <value></value>
    </property>
    <property name=””>
     <ref local></ref>
    </property>
   </bean>
</beans>
120. spring与ejb的事务管理比较的优缺点?
测试:
    Spring:pojo
    Ejb:二个接口一个类,一堆配置文件
  事务类型
    Spring:jdbc jta  hibernate
    Ejb:jta
  成本
      Spring:普通容器(tomcat jboss)
      Ejb:weblogic jboss
  开发的周期:
    Spring远比ejb快.
121. spring的jdbc与传统的jdbc有什么区别,其核心类有那些?
Spring的jdbc:节省代码
  JdbcTemplate(增、删、改、查)
122. 在spring中有几种事务管理,分别是什么?
代码管理的事务处理
   容器管理的事务处理
123. 在spring中如何配代码的事务管理?
Datasouce
   transactionManager
   userDao要注入
    Datasouce
    transactionManager
    代码的事务管理在代码中怎样写?
  通过如下类实现
    TransactionTemplate
    JdbcTemplate
124. 在spring中如何配容器的事务管理,相关的类有那些?
Datasouce
   transactionManager
   userDao要注入
    Datasouce
   Proxy代理
    Target:userDao
    transactionAttribute
     transactionManager
125. 如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确?
不需要
126. spring+hibernate的配置文件中的主要类有那些?如何配置?
在myeclipse中先加入spring环境再加入hibernate环境。
如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确?
spring+hibernate的配置文件中的主要类有那些?如何配置?
  dataSource
  sessionFactory:hibernate.cfg.xml
  transactionManager
  userDao (extends HibernateDaoSupport) 
  proxy
   sessionFactory
   transactionManager
   userDao
另一种说法:
在myeclipse创建一个web工程
加入spring环境
加入hibernate环境,会自动找到applicationContext.xml文件,加入dataSource及sessionFactory两个bean,
通过这两个文件可以不需要hibernate中的hibernate.cfg.xml文件。
加入一个hibernate事务管理的bean,其名是transactionManager
加入一个dao进行操作的bean,其有一个接口。
加入一个基于aop服务的代理,其包括transactionManager及dao为其提代服务
通过代理得到dao的对应的接口,作真正的处理
127. spring+hibernate的代码实现中,对于实现类一定继承于一个类是那一个,它有什么作用。
extends HibernateDaoSupport,可以节省代码。
128. 如何配置spring+struts?
    在struts-config.xml加入一个插件,通过它加载applicationContext.xml
    在struts-config.xml修改action-mapping标记,具体action交给了DelegateActionProxy
    通过DelegateActionProxy进入一spring的环境。
    在spring的applicationContext.xml加入<bean name="/login" class="" singleton="false"/>
129. 如何在web环境中配置applicationContext.xml文件?
<listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener>
或:
<servlet>
  <servlet-name>context</servlet-name>
   <servlet-class>
    org.springframework.web.context.ContextLoaderServlet
   </servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
通过如下方法取出applicationContext实例:
ApplicationContext ac=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext);

你可能感兴趣的:(java,spring,AOP,Hibernate,面试)