栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring

目录
  • 1.什么是Spring
  • 2.Spring的优缺点是什么
  • 3.什么是Spring IOC容器?有什么作用?优点是什么?
  • 4.Spring IoC的实现机制是什么
  • 5.什么是Spring的依赖注入(DI)?IOC和DI的区别是什么
  • 6.紧耦合和松耦合有什么区别?
  • 7.BeanFactory的作用
  • 8. BeanDefinition的作用
  • 9. BeanFactory 和 ApplicationContext有什么区别?
  • 10.BeanFactory和FactoryBean有什么区别?

1.什么是Spring

2.Spring的优缺点是什么

优点:
1、集中管理对象,对象和对象之间的耦合度减低,简化开发,便于维护。

2、支持AOP编程,在不修改代码的情况下可以对业务代码进行增强,减少重复代码,提高开发效率,维护方便。

3、声明事物的支持,提高开发效率,只需要一个简单注解@Transactional。

4、方便程序的测试,Spring实现测试,使我们可以结合junit非常方便测试Spring Bean、SpringMVC。

5、方便集成各种优秀框架,拥有非常强大粘合度、集成能力非常,只需要简单配置就可以集成第三方框架。

6、降低Java EE API的使用难度,简化开发, 帮我封装很多功能性代码,比如啥啥template。

7、Java 源码是经典学习范例,学习到了Spring底层的实现、反射…设计模式 都是我们值得学习,提供非常多的扩展接口供外部进行扩展。

缺点:
从应用层面说没有缺点,用起来很容易,但是深入理解就非常困难,代码量过于庞大。

3.什么是Spring IOC容器?有什么作用?优点是什么?

IOC是控制反转,就是对对象组件的控制权(装配、管理)由程序代码反转给外部容器,所以IOC容器负责创建(通过DI,装配对象,配置对象)、管理对象(整个生命周期)。

作用:
1、管理着对象创建和依赖关系的维护。托管了类的产生过程,代理都不用应用程序去关心了,省事方便。
2、解耦,由容器去维护管理。

优点:
最小的代价和最小的侵入性使松散耦合得以实现。
IOC容器支持加载服务时的饿汉式初始化和懒加载。

4.Spring IoC的实现机制是什么

简单工厂+反射(BeanFactory、创建对象)

5.什么是Spring的依赖注入(DI)?IOC和DI的区别是什么

DI是IOC的具体实现方式,将对象组件从IOC容器中取出注入给调用者。

IOC是依赖倒置原则的设计思想,而DI是具体的实现方式

6.紧耦合和松耦合有什么区别?

紧耦合:
紧密耦合是指类之间高度依赖。

松耦合:
松耦合是通过促进单一职责和关注点分离、依赖倒置的设计原则来实现的。

7.BeanFactory的作用
  • BeanFactory是Spring中非常核心的一个顶层接口;

  • 它是Bean的“工厂”、它的主要职责就是生产Bean;

  • 它实现了简单工厂的设计模式,通过调用getBean传入标识生产一个Bean;

  • 它有非常多的实现类、每个工厂都有不同的职责(单一职责)功能,最强大的工厂是:DefaultListableBeanFactory Spring底层就是使用的该实现工厂进行生产Bean的

  • BeanFactory它也是容器 Spring容器(管理着Bean的生命周期)

8. BeanDefinition的作用

它主要负责存储Bean的定义信息:决定Bean的生产方式。

后续BeanFactory根据这些信息就行生产Bean: 比如实例化 可以通过class进行反射进而得到实例对象 , 比如lazy 则不会在ioc加载时创建Bean

9. BeanFactory 和 ApplicationContext有什么区别?



10.BeanFactory和FactoryBean有什么区别?

BeanFactory是一个工厂,也就是一个容器,是来管理和生产bean的;

FactoryBean是一个bean,但是它是一个特殊的bean,所以也是由BeanFactory来管理的,它是一个接口,他必须被一个bean去实现。不过FactoryBean不是一个普通的Bean,它会表现出工厂模式的样子,是一个能产生或者修饰对象生成的工厂Bean,里面的getObject()就是用来获取FactoryBean产生的对象。所以在BeanFactory中使用“&”来得到FactoryBean本身,用来区分通过容器获取FactoryBean产生的对象还是获取FactoryBean本身。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号