1.Spring是什么?
spring是一个轻量级的ioc和aop的容器框架,用于简化软件程序开发,常见的配置有,xml,注解,类的配置方式。
它的核心有:
spring Core:核心类库,提供IOC服务;
springContent,提供框架式的Bean访问方式;
Spring AOP:AOP服务;
Spring ORM 对现有的ORM框架的支持;
Spring MVC 提供面向Web应用的Model-View-Controller实现。
Spring Web 提供了基本的面向Web的综合特性
Spring DAO 对JDBC的抽象,简化了数据访问异常的处理;
2。Spring 的优点?
低侵入性,代码污染极低。
集成主流应用框架。
使用di解决依赖关系,降低组件依赖性。
spring使用aop,如安全、事务、日志、权限等进行集中式管理
3。什么是spring的ioc容器?
spring的ioc容器主要是有控制反转和依赖注入的功能
由IoC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找
4.Spring 框架中都用到了哪些设计模式?
(1)工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;
(2)单例模式:Bean默认为单例模式。
(3)代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;
(4)模板方法:用来解决代码重复的问题。比如. RestTemplate, JmsTemplate, JpaTemplate。
(5)观察者模式:定义对象键一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知被制动更新,如Spring中listener的实现--ApplicationListener。