1. 描述Spring 框架的优点和缺点?
答: 1) Spring 是一个开源的轻量级应用开发框架,目的在于简化企业开发。
2) Spring 提供IOC和AOP应用,可以将组建的耦合度降到最低,有利于应用后期的维护和升级。
3) Spring 提供一个整体的解决方案,有助于开发者技术选型,可以与第三方框架整合应用。
2. 如何控制Bean对象的作用域,默认作用域是什么?
答: 1) 可以通过<bean>定义的scope属性指定Bean的作用域或者使用@Scope注解指定Bean的作用域。
2) 默认Bean的作用域是singleton。
3. 描述下列注解标记的作用?
@Component, @Repository, @Service, @Scope, @Autowire,@Inject,@Value
答:
1) @Component为组件通用注解。
2) @Repository 为持久层注解。
3) @Service 为业务层注解。
4) @Scope为Bean的作用域注解。
5) @Autowire、@Inject为指定Bean之间的依赖关系。
6) @Value 为Spring 表达式的值注解。
4. 描述Spring MVC的工作原理?
答: SpringMVC的工作流程如下:
1) 浏览器发出请求,请求交给前端控制器Dispatcher Servlet来处理。
2) 控制器通过 HandlerMapping 维护的请求和Controller请求信息,找到相应的Controller组件处理请求。
3) 执行Controller 组件约定方法处理请求,在约定方法可以调用service和dao等组件来完成操作,约定方法可以返回一个ModelAndView 对象,封装了模型数据和视图名称的信息。
4) 中心控制器接收到ModelAndView之后,调用ViewResolver组件,定位View的JSP并传递Model信息,生成响应的界面。
5. Spring有什么缺点?
答:
1) jsp中要写很多代码。
2) 控制器过于灵活,缺少一个公用的控制器。
3) 不支持分布式部署。
6.Spring中的IOC和AOP 是什么含义? 它们在项目中的作用是什么?举例说明?
答:
IOC: 控制反转,一层含义是控制权的转移,由传统在程序中控制依赖转移到由容器来控制程序, 第二层含义是依赖注入,将相互依赖的对象分离,在Spring配置文件中描述他们的依赖关系,他们的依赖关系只在使用的时候建立。
AOP: 面向切面编程,是一种编程思想, OOP的延续,将传统非核心的业务提取出来,进行单独处理。
Spring IOC和AOP在项目中的作用是为了解决系统代码耦合度过高的问题,使代码重用度高,易于维护,比如事务、日志、安全。