Spring常见问题

说说Spring?

Spring的核心是控制反转、依赖注入,Aop(面向切面)相当于把每个bean与bean之间的关系交给第三方进行管理。

说SpringIOC,SpringAOP?

SpringIOC,其实就是依赖注入、控制反转。相当于把每个bean与bean之间的关系交给第三方容器管理。而这个容器就是spring SpringAOP面向切面的编程,或AOP,是一种编程技术,允许程序模块化横向切割关注点,或横切的责任划分,如日志和事务管理。SpringAop就是用Java的动态代理

Spring的底层实现机制是什么?

使用Dom4j(解析XML)+Java反射机制

Dom4j其实就是解析XML。使用反射机制实例化bean。

SpringAOP用到了什么代理?

JDK动态代理:对实现了接口的类生成代理

CGLib代理机制:对类生成代理

动态代理和静态代理区别?

静态代理:有程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。

动态代理:在程序运行时,运用反射机制动态创建而成。

Spring注入有那些方式?

Set注入

构造器注入

静态工厂的方法注入

实例工厂的方法注入

Spring有哪些注解?

@Autoeired(按类型注入)

@Service(标示为注入为服务层)

@Resource(按名称注入)

@Controller(标识控制器bean id)

@RequestMapping(表示映射URL路径)

简述Spring的优缺点?

Spring的优点??

1.降低了组件之间的耦合性,实现了软件各层之间的解耦

2.可以使用容器提供的众多服务,如事务管理,消息服务等

3.容器提供单例模式支持

4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能

5.容器提供了众多的辅助类,能加快应用的开发

6.spring属于低侵入式设计。代码的污染极低

8.独立于各种应用服务器

9.spring的DI机制降低了业务对象替换的复杂性

10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部

缺点:

使用到了大量反射机制。反射机制非常占内存,服务器启动时会创建bean

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2023 高行行
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信