当前位置: 首页 > wzjs >正文

汕头企业网站推广技巧重庆网站推广产品

汕头企业网站推广技巧,重庆网站推广产品,类似淘宝的网站怎么做的,北京知名的网站建设公司前言 Spring 框架的两大核心设计思想是 IOC(控制反转) 和 AOP(面向切面编程)。它们共同解决了代码耦合度高、重复逻辑冗余等问题。 IOC(控制反转) 1.核心概念 控制反转(Inversion of Control…

前言

  • Spring 框架的两大核心设计思想是 IOC(控制反转) 和 AOP(面向切面编程)。
  • 它们共同解决了代码耦合度高、重复逻辑冗余等问题。

IOC(控制反转)

1.核心概念

  • 控制反转(Inversion of Control):将对象的创建、生命周期管理和依赖关系的控制权从应用程序代码转移给外部容器(如 Spring的IOC容器)。
  • 依赖注入(Dependency Injection, DI):IOC 的具体实现方式,容器通过构造函数、Setter 方法或字段反射等方式,自动将依赖对象注入到目标对象中。

2.解决的问题

  • 传统开发的问题:对象直接通过 new 创建依赖,导致代码高度耦合(如 Service 直接依赖 Dao 的具体实现)。
  • IOC 的优势:
    • 解耦:对象依赖由容器管理,开发者无需手动处理。
    • 灵活配置:通过配置文件或注解动态替换实现类(如切换数据库驱动)。
    • 资源复用:Spring 容器默认以单例模式管理 Bean,减少资源消耗。

3.实现方式

  • XML 配置:通过 <bean标签定义 Bean 及其依赖。
  • 注解驱动:如 @Component、@Autowired、@Service 等,简化配置。
  • Java Config:使用 @Configuration 和 @Bean 以编程方式定义 Bean。

4.核心容器

  • BeanFactory:基础容器,提供 Bean 的实例化和依赖注入。
  • ApplicationContext:扩展了 BeanFactory,支持国际化、事件传播、AOP 等高级功能。

AOP(面向切面编程)

1.核心概念

  • 横切关注点(Cross-Cutting Concerns):散布在多个模块中的公共逻辑(如日志、事务、权限校验)。
  • AOP 的目标:将这些横切逻辑从业务代码中剥离,通过动态代理技术织入目标方法,实现代码复用和解耦。

2.关键术语

  • 切面(Aspect):封装横切逻辑的类(如日志切面)。
  • 连接点(JoinPoint):程序执行中的特定位置(如方法调用、异常抛出)。
  • 切点(Pointcut):通过表达式匹配需要增强的连接点(如 execution( com.example.service…*(…)))。
  • 通知(Advice):
    • 前置通知(Before):在目标方法执行前执行。
    • 后置通知(After):在目标方法执行后执行(无论是否异常)。
    • 返回通知(AfterReturning):在目标方法正常返回后执行。
    • 异常通知(AfterThrowing):在目标方法抛出异常后执行。
    • 环绕通知(Around):包裹目标方法,可控制其执行过程。

3.实现原理

  • JDK 动态代理:基于接口代理,要求目标类实现接口。
  • CGLIB 动态代理:通过生成目标类的子类实现代理,适用于无接口的类。
  • 织入(Weaving):将切面逻辑与目标类结合的时机,支持编译期、类加载期和运行期织入。

4.应用场景

  • 日志记录:统一记录方法入参、出参和执行时间。
  • 事务管理:通过 @Transactional 注解实现声明式事务。
  • 权限校验:在方法执行前检查用户权限。
  • 接口限流与幂等:防止重复提交或高并发场景下的资源争抢。

IOC和AOP的协同

  • IOC 提供基础设施:Spring 容器管理 Bean 的创建和依赖,为 AOP 提供代理对象的生成环境。
  • AOP 增强 Bean:通过动态代理技术,对容器管理的 Bean 进行功能扩展,实现非侵入式的逻辑增强。

代码示例

  • 传统代码(高耦合)
  • 当修改了实现类的名称时,所有代码中new该对象的地方都要修改,不易于维护
public class UserService {/*** 当实现类的名称修改时,如UserDaoImpl --> UserDaoImpl-01* 则所有代码中的 new UserDaoImpl() 都要修改为 new UserDaoImpl-01() * 不易维护,代码耦合度过高**/private UserDao userDao = new UserDaoImpl();public void saveUser() {userDao.save();}
}
  • IOC+AOP优化后
// 1. 通过 IOC 解耦
@Service
public class UserService {@Autowiredprivate UserDao userDao; // 依赖接口,具体实现由容器注入public void saveUser() {userDao.save();}
}// 2. 通过 AOP 添加日志
@Aspect
@Component
public class LogAspect {@Before("execution(* com.example.service.*.*(..))")public void logBefore(JoinPoint joinPoint) {System.out.println("方法执行: " + joinPoint.getSignature().getName());}
}

总结

  • IOC 通过控制反转和依赖注入,解决了对象间的强耦合问题。
  • AOP 通过动态代理和切面编程,实现了横切逻辑的复用和解耦。
  • 二者共同构建了 Spring 的轻量级、高扩展性架构,广泛应用于企业级开发。

文章转载自:

http://3xrmdRKk.tbmkz.cn
http://y6xhMUNw.tbmkz.cn
http://n3FeLHeQ.tbmkz.cn
http://fIP9Y8Pi.tbmkz.cn
http://BKTp4aKq.tbmkz.cn
http://jCQRE2xp.tbmkz.cn
http://HN21lrQF.tbmkz.cn
http://KV7AI3ZJ.tbmkz.cn
http://UFwab3k2.tbmkz.cn
http://loFPAL3N.tbmkz.cn
http://cChwjeyR.tbmkz.cn
http://ztx1y0dI.tbmkz.cn
http://lPDSXBsG.tbmkz.cn
http://3BH6DsPm.tbmkz.cn
http://2SWV0gFy.tbmkz.cn
http://4qzXfQ13.tbmkz.cn
http://5WDpjSEW.tbmkz.cn
http://PUGMPfml.tbmkz.cn
http://eSE9eeqm.tbmkz.cn
http://KtrGkAdZ.tbmkz.cn
http://5l1YKPfu.tbmkz.cn
http://QjODZRse.tbmkz.cn
http://3lQtnyk4.tbmkz.cn
http://LSyXagZo.tbmkz.cn
http://xo2eKgSc.tbmkz.cn
http://U708wSgX.tbmkz.cn
http://daTvy0Io.tbmkz.cn
http://SdKBmfQf.tbmkz.cn
http://YF9YSTRe.tbmkz.cn
http://vj7u54H7.tbmkz.cn
http://www.dtcms.com/wzjs/750022.html

相关文章:

  • 阿里云wordpress数据库备份网站优化软件开发
  • 各大网站提交入口建筑材料市场调研报告
  • 怎样做自适应网站楚雄市城乡建设局网站
  • 怎么做免费网站被收录建网站的公司赚钱吗
  • 自己做网站帮别人卖东西台州论坛
  • 备案网站名称注意事项wordpress禁用响应
  • 荆门网站制作编织网站建设
  • 深圳做网站推广公司哪家好怎么通过所有的网站推广广告
  • 做网站 excel上海网站制作公司哪
  • 网站推广工具有哪些深圳网络营销公司排行榜
  • 网站怎么推广怎么做网站建设记录过程
  • 企业网站的最高形态是综合型网站保定网站排名哪家公司好
  • 网站形象首页flash杭州战争网站建设
  • 鞍山网站设计制作网站汕头中文建站模板
  • app 网站开发团队人员配置什么是h5设计
  • 做网站设计需要具备哪些福州专业网站建设怎么做
  • 东山网站建设合肥专门做网站的公司
  • 网站架构包含哪几个部分wordpress 福利 源码
  • 长春网站制作培训重庆关键词优化服务
  • 赶集网天津网站建设网站备案号位置
  • 辽阳专业建设网站电商网站建设考试
  • ps网站CAD做PS地砖贴图技术外包网站
  • 广东省路桥建设有限公司网站广告宣传册设计
  • 全椒网站建设知名市场调研公司
  • 电子商务网站建设规划的内容商务网站建设工程师
  • 传奇大气网站模板免费下载企业网站项目报价多少合适
  • 网站在正在建设中重庆网站备案注销
  • 免费 网站管理系统做跨境网站注意
  • 阿里巴巴官网招聘网站南充网站建设114
  • 专业建设网站公司哪家好施工企业图片