Spring的IOC和AOP

简介: Spring的IOC和AOP

spring 的概述


     spring框架是一个轻量级的企业级开发的一站式解决方案,所谓解决方案就是可以基于spring解决javaEE开发中的所有问题。Spring框架主要提供了IoC容器,AOP,数据库访问,WEB开发,消息,测试等相关技术的支持。


    Spring使用简单的POJO来进行企业级开发,每一个被Spring管理的Java对象都称之为Bean,而Spring提供了一个IoC容器用来初始化对象,解决对象间的依赖管理和对象的使用。


  • AOP

AOP是面向切面编程,相当于OOP面向对象编程。


Spring的AOP存在的目的是为了解耦,AOP可以让一组类共享相同的行为,在OOP中只能通过继承类和实现接口,来使代码的耦合度增强,且类集成只能为单继承。


它允许程序员将横切关注点,如日志记录,事务管理,安全性等进行业务逻辑分离从而提高代码的逻辑性和可维护性


支持使用XML或注解(如@Aspect、@Before、@After、@Around)来配置切面。


常用的注解有:


通过@Aspect 注解声明一个切面

通过@Component让此切面成为Spring容器管理的Bean

通过@PointCut注解声明切点

通过@After注解声明一个建言,并使用@PoinyCut定义切点

通过反射可获得注解上的属性,然后做日志记录相关的操作

通过@Before注解声明一个建言,此建言直接使用拦截规则作为参数


  • IoC

控制反转是一种设计原则,用来减少计算机程序运行的依赖关系。允许程序在运行时态适应和配置对应的关系。IoC通常是通过依赖注入来实现的,其实就是减少业务层new来创建dao层对象


  • Spring使用IoC容器来管理应用程序中的对象,这些对象被称为Beans。
  • 通过@Autowired注解,Spring可以自动装配Bean的依赖关系。
  • 可以在XML配置文件或使用注解(如@Component、@Service、@Repository)来配置Bean


总结:通过结合使用AOP和IoC,Spring框架提供了一种强大的方式来构建松耦合、易于测试和维护的应用程序。AOP允许开发者将业务逻辑与横切关注点分离,而IoC则简化了组件之间的依赖管理和配置


目录
相关文章
|
2天前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
22天前
|
存储 缓存 Java
Spring面试必问:手写Spring IoC 循环依赖底层源码剖析
在Spring框架中,IoC(Inversion of Control,控制反转)是一个核心概念,它允许容器管理对象的生命周期和依赖关系。然而,在实际应用中,我们可能会遇到对象间的循环依赖问题。本文将深入探讨Spring如何解决IoC中的循环依赖问题,并通过手写源码的方式,让你对其底层原理有一个全新的认识。
41 2
|
1月前
|
XML Java 数据安全/隐私保护
Spring Aop该如何使用
本文介绍了AOP(面向切面编程)的基本概念和术语,并通过具体业务场景演示了如何在Spring框架中使用Spring AOP。文章详细解释了切面、连接点、通知、切点等关键术语,并提供了完整的示例代码,帮助读者轻松理解和应用Spring AOP。
Spring Aop该如何使用
|
19小时前
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
|
26天前
|
监控 安全 Java
什么是AOP?如何与Spring Boot一起使用?
什么是AOP?如何与Spring Boot一起使用?
53 5
|
1月前
|
Java 开发者 Spring
深入解析:Spring AOP的底层实现机制
在现代软件开发中,Spring框架的AOP(面向切面编程)功能因其能够有效分离横切关注点(如日志记录、事务管理等)而备受青睐。本文将深入探讨Spring AOP的底层原理,揭示其如何通过动态代理技术实现方法的增强。
61 8
|
1月前
|
Java 开发者 Spring
Spring AOP 底层原理技术分享
Spring AOP(面向切面编程)是Spring框架中一个强大的功能,它允许开发者在不修改业务逻辑代码的情况下,增加额外的功能,如日志记录、事务管理等。本文将深入探讨Spring AOP的底层原理,包括其核心概念、实现方式以及如何与Spring框架协同工作。
|
1月前
|
XML 监控 安全
深入调查研究Spring AOP
【11月更文挑战第15天】
43 5
|
1月前
|
Java 开发者 Spring
Spring AOP深度解析:探秘动态代理与增强逻辑
Spring框架中的AOP(Aspect-Oriented Programming,面向切面编程)功能为开发者提供了一种强大的工具,用以将横切关注点(如日志、事务管理等)与业务逻辑分离。本文将深入探讨Spring AOP的底层原理,包括动态代理机制和增强逻辑的实现。
43 4
|
1月前
|
Java Spring
[Spring]aop的配置与使用
本文介绍了AOP(面向切面编程)的基本概念和核心思想。AOP是Spring框架的核心功能之一,通过动态代理在不修改原代码的情况下注入新功能。文章详细解释了连接点、切入点、通知、切面等关键概念,并列举了前置通知、后置通知、最终通知、异常通知和环绕通知五种通知类型。
39 1