<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Spring on 极客老墨</title>
    <link>https://blog.hankmo.com/tags/spring/</link>
    <description>Recent content in Spring on 极客老墨</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>zh-cn</language>
    <lastBuildDate>Tue, 15 Jun 2021 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.hankmo.com/tags/spring/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Expert One-on-One J2EE Development without EJB中文版PDF下载</title>
      <link>https://blog.hankmo.com/posts/reading/expert-j2ee-without-ejb/</link>
      <pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/reading/expert-j2ee-without-ejb/</guid>
      <description>你的J2EE项目是否耗费了你太多的时间？它们是否难以调试？它们是否效率不彰？也许你还在使用传统的J2EE方案，然而这种主案太过复杂，而且并非真正面向对象。这里的很多问题都与EJB有关：EJB是一种复杂的技术，但它没有兑现自己曾经的承诺。</description>
    </item>
    <item>
      <title>Spring扩展原理</title>
      <link>https://blog.hankmo.com/posts/tech/spring-extension/</link>
      <pubDate>Wed, 12 Aug 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-extension/</guid>
      <description>Spring Bean后置处理器用于bean创建对象初始化前后进行拦截工作，因此它是spring容器扩展必不可少的组件。</description>
    </item>
    <item>
      <title>给Spring中注册Bean的几种方式</title>
      <link>https://blog.hankmo.com/posts/tech/methods-to-add-beans-to-spring/</link>
      <pubDate>Thu, 07 May 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/methods-to-add-beans-to-spring/</guid>
      <description>给Spring中添加Bean的这些方式，你都弄明白了吗？</description>
    </item>
    <item>
      <title>Spring IoC容器实现原理</title>
      <link>https://blog.hankmo.com/posts/tech/spring-ioc-container/</link>
      <pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-ioc-container/</guid>
      <description>IOC容器两个核心的接口为 BeanFacotry 和 ApplicationContext，前者提供容器管理Bean的基本功能，后者则扩展 BeanFactory，提供了容器级的强大功能，如国际化支持、资源加载、事件、应用上下文环境等。</description>
    </item>
    <item>
      <title>Spring Bean自动扫描原理</title>
      <link>https://blog.hankmo.com/posts/tech/spring-component-auto-scan/</link>
      <pubDate>Tue, 10 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-component-auto-scan/</guid>
      <description>Spring 基于注解的Bean自动扫描是由后置处理器 `ConfigurationClassPostProcessor` 来实现的，本篇将讨论Spring自动扫描的原理。</description>
    </item>
    <item>
      <title>Spring IoC容器启动过程</title>
      <link>https://blog.hankmo.com/posts/tech/spring-ioc-start/</link>
      <pubDate>Thu, 06 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-ioc-start/</guid>
      <description>Spring容器启动过程非常复杂，但是其核心流程都离不开 refresh 方法，所以该方法是spring最重要的一个方法，本文讨论spring容器的启动过程。</description>
    </item>
    <item>
      <title>使用Spring的RestTemplate发送GET请求，并支持传递Request body参数</title>
      <link>https://blog.hankmo.com/posts/tech/spring-resttemplate-get-with-body/</link>
      <pubDate>Wed, 31 Oct 2018 18:32:31 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-resttemplate-get-with-body/</guid>
      <description>使用RestTemplate发送GET请求，默认使用的JDK实现，不支持传递body参数，可以改为Apache的httpclient包，只需对HttpComponentsClientHttpRequestFactory进行扩展，让GET扩展自HttpEntityEnclosingRequestBase即可。</description>
    </item>
    <item>
      <title>Spring事务管理四：声明式事务</title>
      <link>https://blog.hankmo.com/posts/tech/spring-declarative-transaction/</link>
      <pubDate>Thu, 08 Mar 2018 17:34:51 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-declarative-transaction/</guid>
      <description>可以从传播机制、隔离级别、是否只读、事务超时、回滚规则等方面来描述事务。Spring提供了xml和注解两者事务声明方式：采用xml：需要使用tx命名空间，好处是在xml中完成事务定义，代码中不需要做任何事务相关的编码；但是，事务控制的方法名称需要遵循一定的规则，一遍Spring能够匹配到并为其加入事务通知。采用注解：xml仅需一行配置，其他的事务控制都可以通过编码加上注解实现，而且对方法名称没有要求；如果整个应用不需要事务控制，取消xml配置即可。</description>
    </item>
    <item>
      <title>Spring事务管理三：编程式事务</title>
      <link>https://blog.hankmo.com/posts/tech/spring-programming-transaction/</link>
      <pubDate>Thu, 08 Mar 2018 15:50:47 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-programming-transaction/</guid>
      <description>Spring提供了TransactionTemplate工具类，可以方便地让开发人员手动的编程实现事务控制。编程式事务虽然可以精确控制事务，但是事务控制代码必须侵入业务逻辑代码中，耦合度高，后期难以维护。一般而言，不需要精确控制事务，所以采用的更多的是Spring的声明式事务。</description>
    </item>
    <item>
      <title>Spring事务管理二：Spring事务管理器</title>
      <link>https://blog.hankmo.com/posts/tech/spring-transaction-manage/</link>
      <pubDate>Wed, 07 Mar 2018 21:33:52 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-transaction-manage/</guid>
      <description>Spring并不支持管理事务，而是委托给第三方事务管理机制来完成事务控制，Spring顶层提供事务管理核心接口PlatformTransactionManager，事务管理器均是该接口的实现。如果没有合适的事务管理器或者需要支持分布式事务控制，则可以使用全局事务管理器：JTA事务管理器。</description>
    </item>
    <item>
      <title>Spring事务管理一：Spring事务简介</title>
      <link>https://blog.hankmo.com/posts/tech/spring-transaction-intro/</link>
      <pubDate>Wed, 07 Mar 2018 21:20:39 +0000</pubDate>
      <guid>https://blog.hankmo.com/posts/tech/spring-transaction-intro/</guid>
      <description>在软件开发领域，全有或全无的操作被称为事务（transaction）。事物允许将几个操作组合成一个要么全部发生要么全部不发生的工作单元。发生和不发生两者只能选择其一，而不可能两者都选择。事务确保了数据和资源免于处在不一致的状态。事务必须具备ACID特性，在Spring中，除了编程来精确控制事务，还可以使用AOP来配置低耦合度的声明式事务控制。</description>
    </item>
  </channel>
</rss>
