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

公司怎么做网站营销型网站建设需要多少钱

公司怎么做网站,营销型网站建设需要多少钱,主流建站cms,h5制作网站IoC 容器是 Spring 的“中央集权”系统。因为它完全控制了所有 Bean(对象)的创建、装配和生命周期,所以它获得了在一个“上帝视角”对这些 Bean 进行拦截、修改和增强的权力。AOP 和声明式事务管理,正是利用了这个权力。 我们用一…

IoC 容器是 Spring 的“中央集权”系统。因为它完全控制了所有 Bean(对象)的创建、装配和生命周期,所以它获得了在一个“上帝视角”对这些 Bean 进行拦截、修改和增强的权力。AOP 和声明式事务管理,正是利用了这个权力。

我们用一个“汽车工厂”的比喻来剖析这个过程。

  • IoC 容器:一个高度自动化的汽车工厂。
  • Bean 定义:汽车的设计蓝图(比如:需要一个四缸引擎、四个轮子、一个车身)。
  • 原始 Bean 对象:按照蓝图组装好的、最基础的汽车。

现在,工厂(IoC 容器)在把这辆基础汽车交付给你(注入到其他 Bean)之前,可以做一些事情。


IoC 是如何为 AOP(面向切面编程)提供基础的

AOP 的目标是将横切关注点(如日志、安全、事务)从业务代码中分离出来。Spring AOP 的实现方式主要是动态代理

这个过程在“汽车工厂”里是这样的:

  1. 识别需要增强的对象:工厂的“质量控制系统”(AOP 配置)发现,某些型号的汽车(比如所有标记了 @Service 的 Bean)在出厂前,需要加装一个“行车记录仪”(日志切面)。

  2. 创建代理(The Core Idea):工厂并不直接把那辆基础汽车交出去。相反,它做了一件非常聪明的事:

    • 它找来一个技术高超的“改装师”(Proxy Factory)。
    • 改装师以基础汽车为模型,造了一个外观一模一样的**“克隆车”**(代理对象)。
    • 这个克隆车内部,不仅包含了原车的所有功能,还在方向盘、油门、刹车等关键操作点安装了传感器和控制器(这就是 AOP 的“通知/Advice”)。
  3. 无缝替换和交付

    • 现在,当另一个组件(比如 Controller)向工厂申请一辆 Service 汽车时,工厂交付给它的是这辆加装了行车记录仪的“克隆车”(代理对象),而不是那辆基础汽车。
    • Controller 根本不知道自己拿到的是一辆改装过的车。它像平常一样踩油门(调用业务方法)。
  4. AOP 生效

    • Controller 踩下油门时,首先触发的是“克隆车”上的传感器(@Before 通知)。行车记录仪开始录像(记录日志)。
    • 然后,传感器再把指令传递给真正的引擎,让汽车前进(调用原始的业务方法)。
    • 当驾驶结束时,传感器再次被触发(@After 通知),行车记录仪保存录像(日志记录结束)。

IoC 在这里的关键作用:

  • 拦截机会(Interception Point):因为 IoC 容器控制了 Bean 的创建过程,所以它有机会在返回 Bean 之前,判断是否需要创建代理来替换它。如果应用程序自己 new UserService(),Spring 就完全没有机会介入。
  • 依赖注入的无感知性(Seamless Injection):IoC 容器负责将这个代理对象注入到所有需要它的地方。调用方对此毫不知情,代码完全无侵入。这是 AOP 得以透明工作的基石。

IoC 和 AOP 是如何为事务管理提供基础的

声明式事务管理(@Transactional)是 AOP 的一个最经典、最重要的应用。

在“汽车工厂”的比喻中,@Transactional 就像是给汽车加装一个“自动安全驾驶系统”。

  1. 识别目标:工厂的“质量控制系统”发现,某个业务方法(比如 placeOrder())上标注了 @Transactional。这就像一个指令:“这辆车在执行‘下单’这个驾驶任务时,必须开启自动安全驾驶模式”。

  2. 创建事务代理:和上面的过程一样,IoC 容器会为这个 Service Bean 创建一个代理对象。这个代理对象就是加装了“自动安全驾驶系统”的克隆车。

  3. 事务的执行流程

    • Controller 调用 placeOrder() 方法时,它实际上是在调用代理对象placeOrder() 方法。
    • 代理的逻辑开始执行(@Before
      • “自动安全驾驶系统”被激活。
      • 它检查当前是否有正在运行的安全模式(事务),如果没有,就开启一个新的安全模式(connection.setAutoCommit(false),开启事务)
    • 调用原始方法
      • 系统开始执行真正的 placeOrder() 业务逻辑(更新订单表、扣减库存……)。
    • 根据结果决定后续操作(@AfterReturning / @AfterThrowing
      • 如果原始方法顺利完成:系统判断任务成功,发出“确认”指令(connection.commit(),提交事务)。
      • 如果原始方法中途抛出异常(比如库存不足):系统判断任务失败,发出“紧急撤销”指令(connection.rollback(),回滚事务),将所有已经做的操作恢复到任务开始前的状态。

IoC 在这里的关键作用:

  • 提供了代理创建的平台:同上,IoC 容器是创建和管理这个“事务代理”的唯一场所。
  • 保证了事务的边界:因为代理包裹了原始方法,所以它能够在方法开始前开启事务,在方法结束后(无论成功还是失败)提交或回滚事务,从而完美地控制了事务的边界。如果没有 IoC 和 AOP,你就必须在每个业务方法里手动编写 try-catch-finally 块来管理数据库连接和事务,代码会变得极其冗长和脆弱。

总结

概念角色作用
Spring IoC 容器中央工厂和管理者提供了一个拦截和替换 Bean 的机会点。它是所有高级功能的基础平台。
Spring AOP智能改装师 (Proxy Factory)利用 IoC 提供的机会,在不修改源码的情况下,为原始 Bean 创建一个功能增强的代理 Bean
声明式事务一种具体的改装方案AOP 的一个具体应用。通过代理,为业务方法自动包裹上事务开启、提交、回滚的逻辑

这个关系链是:IoC 赋予了 Spring 控制权 -> Spring 利用这个控制权实现了 AOP -> AOP 成为了实现声明式事务等横切关注点的强大工具。

http://www.dtcms.com/wzjs/477228.html

相关文章:

  • 中国空间站简介100字外链是什么
  • asp网站 工具seo优化方法
  • ssm框架做网站的优势360网站收录
  • 外包平台都有哪些广州市口碑seo推广外包
  • 广州建设工程合同备案系统网站手机搜索引擎排行榜
  • 网站和网页的区别是什么电销系统软件排名
  • wordpress国内视频网站站长工具是什么
  • 如何更换网站图片东营网站建设哪家更好
  • 我做淘宝网站卖东西怎么激活app有哪些推广方式
  • 公司做网站是管理费用南京seo圈子
  • 软件培训网站建设网络推广培训班
  • 低内存vps搭建WordPress韶关网站seo
  • 做免费互动小游戏的网站互联网营销的十五种方式
  • app加网站开发百度代理加盟
  • 制作网制作网站建设的公司百度推广助手
  • 做网站复制国家机关印章百度平台官网
  • 只做健康产品的网站海外市场推广策略
  • 做汽车团购的网站宁波网站推广优化公司电话
  • 我有域名跟空间能教我做网站吗seo渠道
  • 大连微信公众号开发公司网站seo的内容是什么
  • 域名注册好了怎么样做网站深圳精准网络营销推广
  • 有做游戏广告的网站百度快速收录软件
  • 长沙微信小程序公司重庆百度seo整站优化
  • 潍坊可以做网站的公司宝鸡seo优化公司
  • 深圳市工程交易服务网苏州seo安严博客
  • 模板算量软件手机下载seo公司厦门
  • 网站建设销售好做吗代引流推广公司
  • 网站建设选择什么系统好网站seo去哪个网站找好
  • 邯郸企业网站建设全网络品牌推广
  • 网泰网站建设网络推广天津网站建设技术外包