Spring Framework 是一个什么样的框架?

目录

1.核心

1.1  IoC

1.2  AOP 

1.3  Bean 

 2.Spring的特点

3.什么是依赖注入

 


1.核心

Spring是分层的JavaSE/EE一站式轻量级开源框架,以IoC(Inverse of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心

1.1  IoC

IoC(Inverse of Control,控制反转)指的是将对象的创建交给Spring去创建。使用Spring之前,对象的创建都是new 创建,而使用Spring之后,对象的创建都交给Spring框架。

1.2  AOP 

AOP(Aspect Oriented Programming,面向切面编程)用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP还能解决一些系统层面上的问题,比如日志、事务、权限等。 

1.3  Bean 

 Spring中,认为一切Java类都是资源,而资源都是类的实例对象Bean,容纳并管理这些Bean的是Spring的IoC容器,所以Spring是一种基于Bean的编程。

 2.Spring的优点和缺点

2.1  优点

  1. 方便解耦,简化开发:将所有对象的创建和依赖关系维护交给Spring管理。
  2. 方便集成各种优秀框架:Spring内部提供了对各种优秀框架(Struts2、Hibernate、MyBatis)的直接支持。
  3. 降低了Java EE API使用难度:对JAVA EE开发中一些API(JDBC、JavaMail、远程调用)都提供了封装。
  4. 方便程序测试:支持JUnit4,可以通过注解方便地测试Spring程序。
  5. AOP编程支持:面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
  6. 声明式事务:通过配置就可以完成对事务的管理,无需编程。

2.2  缺点 

  1. 学习曲线较陡:由于Spring Framework涵盖的领域广泛且功能强大,学习曲线可能较陡峭,尤其是对于新手来说。初学者可能需要一定的时间和精力来掌握Spring的核心概念、应用和工作原理。
  2. 配置复杂:对于一些复杂的应用程序,Spring的配置文件可能会变得冗长和复杂。特别是XML配置文件在大型项目中可能变得难以维护。尽管Spring也支持基于注解和Java配置的方式,但这些方式也需要适当的理解和使用。
  3. 运行时效率:与一些轻量级的框架相比,Spring Framework的运行时效率相对较低。这主要是因为Spring通过代理、注解解析和AOP等技术实现了许多功能,这些额外的运行时开销会对性能产生一定的影响。但是,在现代的硬件和优化技术下,这种性能损失通常是可以接受的。
  4. 学习过多的特性:Spring Framework提供了许多特性和模块,如Spring MVC、Spring Data、Spring Security等。对于初学者来说,学习和理解所有这些特性可能是一个挑战,并且可能不会在所有项目中都有用。因此,开发人员需要根据项目的需求和复杂性来选择适当的特性和模块。
  5. 过度使用和不合理的设计:有时候开发人员可能会过度使用Spring的某些功能,导致应用程序的复杂性和维护成本增加。此外,如果设计不当,过多的依赖注入和配置可能会使代码变得难以理解和调试。

3.什么是依赖注入

依赖注入(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现。

简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值