Java面试题之Spring(二)
Spring常用的注解?
spring 在2.5版本以后开始支持注解的方式来配置依赖注入,可以用注解的方式来代替xml中的bean的描述,注解注入将会被容器在xml注入之前被处理,所以后者会被覆盖掉前者对于同一个属性的处理结果。
注解装配在spring 中默认是关闭的,所以需要在spring 的核心配置文件中配置一下才能使用,基于注解的装配模式,配置方式如下
<context:annotation-config />
常用的注解
@Required:该注解应用于设值的方法
@Autowired:该注解应用于值设值方法,非设值方法,构造方法和变量
@Qualifer:该注解和@Autowired搭配使用,用于消除特定bean自动装配的歧义
简单介绍一下Spring bean 的生命周期
bean 定义:有两种方式初始化。
1.在配置文件中通过指定init-method属性来完成
2.实现org.springframwork.beans.factory.InitiazingBean 接口
bean调用:有三种方法可以得到bean实例并运行调用
bean销毁:销毁的两种方式
1.使用配置文件指定的destory-method 属性
2.实现org.springframwork.bean.factory.DisposeableBean接口
Spring 能帮助我们做什么?
a.Spring能帮助我们根据配置文件创建及组装对象之间的依赖关系。
Spring 根据配置文件来进行创建及组装对象之间的依赖关系,只需要改配置文件即可
b.Spring面向切面编程能帮助我们无耦合的实现日志记录。性能统计,安全控制。
Spring 面向切面编程能提供一种更好的方式来完成,一般通过配置方式,而且不需要,在现在代码中添加任何额外代码
,现有代码专注业务逻辑
c.Spring还能和第三方数据库访问框架(如:Hibeanate,JPA)无缝集成。而且自己也提供了一套JDBC访问模板,来方便访问数据库
d,Spring能非常简单的帮助我们管理数据库事务
采用Spring我们只需要连接,执行SQL。其他事务相关的都交给Spring来管理了
e.Spring 还能与第三方Web(如Struts,JSF) 框架无缝集成,而且也自己提供了一套Spring MVC框架,来方便web层搭建
f.Spring能方便的与JavaEE(如:Java Mail 任务调度)整合,与更多技术整合,(比如缓存框架)。
BeanFactory常用的实现类有哪些?
Bean 工厂是工厂模式的一个实现,提供控制反转功能,用来把应用的配置和依赖从真正的应用代码中分离,常用的beanFatcory实现所
有DefaultListableBeacFactory。XmlBeanFactory .ApplicationContext等,XMLBeanFactory最常用的就是,org.springframework.beans.factory.xml.XmlBeanFactory它根据XML文件中的定义加载beans 该容器从xml文件中读取配置元数据并用他去创建一个完全配置的系统或应用