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则简化了组件之间的依赖管理和配置


目录
相关文章
|
8天前
|
XML Java 数据安全/隐私保护
Spring Aop该如何使用
本文介绍了AOP(面向切面编程)的基本概念和术语,并通过具体业务场景演示了如何在Spring框架中使用Spring AOP。文章详细解释了切面、连接点、通知、切点等关键术语,并提供了完整的示例代码,帮助读者轻松理解和应用Spring AOP。
Spring Aop该如何使用
|
28天前
|
存储 缓存 Java
Spring高手之路23——AOP触发机制与代理逻辑的执行
本篇文章深入解析了Spring AOP代理的触发机制和执行流程,从源码角度详细讲解了Bean如何被AOP代理,包括代理对象的创建、配置与执行逻辑,帮助读者全面掌握Spring AOP的核心技术。
35 3
Spring高手之路23——AOP触发机制与代理逻辑的执行
|
13天前
|
Java Spring
[Spring]aop的配置与使用
本文介绍了AOP(面向切面编程)的基本概念和核心思想。AOP是Spring框架的核心功能之一,通过动态代理在不修改原代码的情况下注入新功能。文章详细解释了连接点、切入点、通知、切面等关键概念,并列举了前置通知、后置通知、最终通知、异常通知和环绕通知五种通知类型。
26 1
|
18天前
|
XML 缓存 Java
搞透 IOC、Spring IOC ,看这篇就够了!
本文详细解析了Spring框架的核心内容——IOC(控制反转)及其依赖注入(DI)的实现原理,帮助读者理解如何通过IOC实现组件解耦,提高程序的灵活性和可维护性。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
|
9天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
21 0
|
1月前
|
Java 编译器 Spring
Spring AOP 和 AspectJ 的区别
Spring AOP和AspectJ AOP都是面向切面编程(AOP)的实现,但它们在实现方式、灵活性、依赖性、性能和使用场景等方面存在显著区别。‌
65 2
|
1月前
|
Java Spring 容器
Spring IOC、AOP与事务管理底层原理及源码解析
【10月更文挑战第1天】Spring框架以其强大的控制反转(IOC)和面向切面编程(AOP)功能,成为Java企业级开发中的首选框架。本文将深入探讨Spring IOC和AOP的底层原理,并通过源码解析来揭示其实现机制。同时,我们还将探讨Spring事务管理的核心原理,并给出相应的源码示例。
126 9
|
1月前
|
存储 开发框架 Java
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
文章详细介绍了Spring、IOC、DI的概念和关系,解释了控制反转(IOC)和依赖注入(DI)的原理,并提供了IOC的代码示例,阐述了Spring框架作为IOC容器的应用。
28 0
什么是Spring?什么是IOC?什么是DI?IOC和DI的关系? —— 零基础可无压力学习,带源码
|
30天前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
65 0
|
6月前
|
安全 Java Spring
Spring之Aop的底层原理
Spring之Aop的底层原理