Java面试系列——笔试

Java面试系列——笔试

1、FileSystemResource 和 ClassPathResource 有何区别?

在 FileSystemResource 中需要给出 spring-config.xml 文件在你项目中的相对路径或者绝对路径。在 ClassPathResource 中 spring 会在 ClassPath 中自动搜寻配置文件,所以要把 ClassPathResource 文件放在 ClassPath 下。

如果将 spring-config.xml 保存在了 src 文件夹下的话,只需给出配置文件的名称即可,因为 src 文件夹是默认。

简而言之,ClassPathResource 在环境变量中读取配置文件,FileSystemResource 在配置文件中读取配置文件。

2、Spring 框架中都用到了哪些设计模式?

Spring 框架中使用到了大量的设计模式,下面列举了比较有代表性的:

o 代理模式—在AOP和remoting中被用的比较多。

o 单例模式—在spring配置文件中定义的bean默认为单例模式。

o 模板方法—用来解决代码重复的问题。比如.RestTemplate,JmsTemplate,JpaTempl ate。

o 前端控制器—Spring提供了DispatcherServlet来对请求进行分发。

o 视图帮助(ViewHelper)—Spring提供了一系列的JSP标签,高效宏来辅助将分散的代码整合在视图里。

o 依赖注入—贯穿于BeanFactory/ApplicationContext接口的核心理念。

o 工厂模式—BeanFactory用来创建对象的实例

3、开发中主要使用 Spring 的什么技术 ?

1. IOC 容器管理各层的组件

2. 使用 AOP 配置声明式事务

3. 整合其他框架.

4、简述 AOP 和 IOC 概念 AOP:

Aspect Oriented Program, 面向(方面)切面的编程;Filter(过滤器) 也是一种 AOP. AOP 是一种新的方法论, 是对传统 OOP(Object-Oriented Programming, 面向对象编程) 的补充. AOP 的 主要编程对象是切面(aspect), 而切面模块化横切关注点.可以举例通过事务说明.

IOC: Invert Of Control, 控制反转. 也成为 DI(依赖注入)其思想是反转资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源.作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送 给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式

5、在 Spring 中如何配置 Bean ?

Bean 的配置方式: 通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean

相关推荐