面试频道
面试笔试分享 面试自我介绍 面试须知 面经大全 名企面试 面试问题 面试之后 英语面试 外企面试 面试常见100道问题 工作动机 经验态度 能力表现
您现在的位置:龙8国际首页 > 面试频道 > 面试问题 正文

Spring面试必问题

2018-05-07 面试问题  
1、谈谈你对spring的理解?Spring是个java企业级应用的开源开发框架,轻量级,基本的版本大约2MB,Spring的优点主要体现在IOC和AOP,他两说白了就是对工厂模式和代理模式的一个封装!2、解释Spring中IOC, DI, AOP IOC就是控制反转或依赖注入。简单点说就是以前我们需要一个对象的时候都是new出来,而spring的IOC就帮我们实现了这一点,通过Spring的bean工厂为你生成所需要的对象AOP就是面向切面编程,比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类,那你每一类中都要写关于日志的方法。但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法,每一次调用这个方法的时候,就加上生成日志的操作。3、Spring的IOC是解耦,AOP是干什么的? AOP面向切面编程 将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。 比如: 很多方法可能会抛异常,你要记录这个异常到日志中去,可以写个拦截器类,在这个类中记录日志 在spring.xml中配置一个对这些要记录日志的方法的aop拦截器 在这个方法执行后调用这个拦截器,记录日志。这样就不用每次抛异常都要手动记录日志。 spring的事务管理用到的就是aop 这样也可以提高程序的内聚性。4、 Bean 工厂和 Application contexts 有什么区别? Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以Application contexts中以声明的方式处理。Application contexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。5、有哪些不同类型的IOC(依赖注入)方式? (1)构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖(2)Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。6、Spring beans是什么? Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中 的形式定义。Spring 框架定义的beans都是单件beans。在bean tag中有个属性”singleton”,如果它被赋为TRUE,bean 就是单件,否则就是一个 prototype bean。默认是TRUE,所以所有在Spring框架中的beans 缺省都是单件。7、 一个 Spring Bean 定义 包含什么? 一个Spring Bean 的定义包含容器必知的所有配置元数据,包括如何创建一个bean,它的生命周期详情及它的依赖8、Spring框架中的单例bean是线程安全的吗? Spring框架中的单例bean不是线程安全的9、Spring的注解有哪些? @Component:是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。@Controller: @Controller对应表现层的Bean@Service: @Service对应的是业务层Bean@ Repository:@Repository对应数据访问层Bean@Autowired: @Autowired 根据bean 类型从spring 上线文中进行查找,注册类型必须唯一@RequestMapping:@RequestMapping 可以声明到类或方法上@RequestParam10、Spring有几种配置方式? (1)基于xml的配置(2)基于注解额配置(3)基于java的配置
龙8国际