Spring第五天

1. 【简答题】:简述一下hibernate和spring框架的整合步骤:

答:

1.加入hibernate jar

2.编写持久化类

3.添加Hibernate的配置文件:hibernate.cfg.xml

4.编写持久化类对应的.hbm.xml文件

5.加入spring jar

6.加入Spring配置文件,定义数据源,定义sessionFactory,配置spring事物

7.dao层代码

8.service层代码

9.写测试代码 

 

扫描二维码关注公众号,回复: 1055902 查看本文章

2. 【简答题】:简述一下struts2和spring框架的整合步骤

答:

1.引入struts-spring-plugin.jar开发包

(可以访问Spring容器,利用<action>配置的class属性值去Spring容器中寻找Bean对象)

2.Action定义到Spring容器中,id值与<action>class属性值保持一致

3.web.xml中定义ContextLoaderLisener

  (在服务器启动时,用于实例化Spring容器对象)

4.web.xml中采用<context-param>指定Spring容器配置文件位置

一、 面试题部分

1. spring中体现了那些设计模式?

答案:

1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了;

2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了; 

JdbcTemplete  HibernateTemplete 

3.代理模式,在Aop实现中用到了JDK的动态代理;

4.策略模式,第一个地方,加载资源文件的方式,使用了不同的方法,比如:ClassPathResoureceFileSystemResourceServletContextResourceUrlResource但他们都有共同的借口Resource第二个地方就是在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理;

5.单例模式,这个比如在创建bean的时候。

2. ApplicationContext通常的实现是什么?

答案:

FileSystemXmlApplicationContext :此容器从一个XML文件中加载beans的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。

ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。

WebXmlApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean

3. 解释Spring框架中bean的生命周期

答案:

Spring容器 XML 文件中读取bean的定义,并实例化bean

Spring根据bean的定义填充所有的属性。

如果bean实现了BeanNameAware 接口,Spring 传递bean ID setBeanName方法。

如果Bean 实现了 BeanFactoryAware 接口, Spring传递beanfactory setBeanFactory 方法

如果有任何与bean相关联的BeanPostProcessorsSpring会在postProcesserBeforeInitialization()方法内调用它们。

如果bean实现IntializingBean了,调用它的afterPropertySet方法,如果bean声明了初始化方法,调用此初始化方法。

如果有BeanPostProcessors bean 关联,这些beanpostProcessAfterInitialization() 方法将被调用。

如果bean实现了 DisposableBean,它将调用destroy()方法。

猜你喜欢

转载自www.cnblogs.com/shan1393/p/9097186.html