对Spring的理解

初识Spring
在这里插入图片描述
spring框架是一个开源而轻量级的框架,是一个IOC和AOP容器
spring的核心就是控制反转(IOC)和面向切面编程(AOP)
控制反转(IOC):是面向对象编程中的一种设计原则,用来降低程序代码之间的耦合度, 使整个程序体系结构更加灵活,与此同时将类的创建和依赖关系写在配置文件里,由配置文件注入,达到松耦合的效果。
与此同时IOC也称为DI(依赖注入),依赖注入是一种开发模式;依赖注入提倡使用接口编程;依赖注入使得可以开发各个组件,然后根据组件之间的依赖关系注入组装。
spring的注入方式:
A:使用构造器注入:主要采用构造函数和构造器来进行注入
B:setter方法注入:是容器通过调用无参构造器或无参static 工厂方法实列化bean之后,调用该bean的setter方法, 即实现了基于setter的依赖注入
面向切面编程(AOP)将安全,事务等于程序逻辑相对独立的功能抽取出来,利用Spring的配置文件将这些功能插进去,实现了按照切面编程,提高了复用性;最主要的作用:可以在不修改源代码的情况下,给目标方法动态添加功能
增强方式4种:

  1. 前置增强,在核心功能之前执行的额外功能
    在这里插入图片描述
  2. 后置增强,在核心功能之后执行的额外功能
    在这里插入图片描述
    3.异常增强,在核心功能发生异常时执行的额外功能
    在这里插入图片描述
    4.环绕增强,在核心功能之前以及之后执行的额外功能
    在这里插入图片描述
    spring优点:
    a:低侵入式设计,独立于各种应用服务器
    b:依赖注入特点性将组件关系透明化,降低耦合度
    c:与第三方框架具有良好的整合效果

以我的理解来看,spring思想是将应用程序的主动性改为被动性,以前我们需要用到什么类,应用就自己new什么类,感觉应用程序是老大,但是,正是如此,类于类之间的耦合度就会越来越高,不方便测试。程序中的每一个类变得不可分割。而spring的出现改变了这种状态,它通过IOC于DI思想,将创建的权力交给IOC,注入的问题交给DI,我们根本不需要考虑什么时候new这个类对象,我们只需要在applicationContext.xml中配置bean,通过注入的方式,注入给类中的属性就行了。

2.正是因为他的特性思想,我们可以将它于持久层框架和控制层框架一起整合,把controller类,mapper接口,service类,action类,dao类等等都交给spring管理,前台发送请求,控制层接收请求,根据url在IOC容器中找到相应的controller类和方法,controller类中又依赖注入了service类,controller再调用service类,service类中又依赖注入了dao类,dao类再对数据库进行操作后,将操作结果返回给service类,service类返回给controller类,controller类再返回给浏览器。这样前后台交互就完成了,然而,在这期间我们并没有new 任何的controller类,service类,dao类,通通是spring创建的,我们只是被动的使用它就行了。这大大降低了程序的耦合度。 3.AOP其实就是在某一个执行前,执行后,执行中。加入相应的操作,对于AOP我还不是太理解,只会基本的使用,一般用于记录日志,配置事务等等操作;日后还得继续学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架是一个开源的Java应用程序开发框架,它提供了一系列的解决方案和工具,用于简化企业级应用程序的开发。以下是对Spring框架的一些理解: 1. 轻量级:Spring框架的设计目标之一是保持轻量级,它不会强制引入过多的依赖或复杂的配置。使用Spring,你可以选择性地使用各个模块和功能,以满足你的需求。 2. 控制反转(IoC):Spring框架通过控制反转(IoC)容器来管理对象的生命周期和依赖关系。你可以通过配置文件或注解来描述对象之间的依赖关系,而不需要显式地在代码中进行硬编码。这样可以提高代码的可维护性和可测试性。 3. 依赖注入(DI):依赖注入是控制反转的一种实现方式,它使得对象不需要自己创建或管理它们所依赖的对象。Spring框架通过依赖注入将所需的依赖关系注入到对象中,使得对象之间解耦,并且方便进行单元测试和模块化开发。 4. 面向切面编程(AOP):Spring框架提供了面向切面编程的支持,使得你可以将横切关注点(例如日志记录、事务管理等)从核心业务逻辑中分离出来,并通过配置文件或注解的方式进行统一管理。 5. 企业级开发支持:Spring框架提供了许多企业级开发的功能和扩展,如集成事务管理、安全性、远程访问、缓存管理等。这些功能可以帮助开发者快速构建高可靠性、可扩展性和安全性的企业级应用程序。 总结来说,Spring框架是一个强大而灵活的Java开发框架,它通过控制反转、依赖注入和面向切面编程等特性,提供了一种优雅的方式来构建和管理Java应用程序。它的设计目标是简化开发过程,提高代码的可维护性和可测试性,同时提供了丰富的企业级功能和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值