<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Spring on 杨刚的个人网站</title>
    <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/</link>
    <description>Recent content in Spring on 杨刚的个人网站</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <copyright>Copyright © 2018-2025 GradyYoung. All rights reserved.</copyright>
    <lastBuildDate>Fri, 19 Jan 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>1、Spring</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/0f995af4/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/0f995af4/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Spring概述 
    &lt;div id=&#34;spring概述&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#spring%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Spring框架是03年由Rod Johnson创建&lt;/li&gt;
&lt;li&gt;该框架的主要作用：让我们的应用程序满足“高内聚，低耦合”，并始终遵循面向接口编程的思想，来做到松散耦合&lt;/li&gt;
&lt;li&gt;Spring不是一个功能性框架，主要解决的是业务逻辑层和其他各层的耦合问题&lt;/li&gt;
&lt;li&gt;Spring框架核心
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IOC（容器）&lt;/strong&gt;，把创建、销毁对象的过程交给Spring进行管理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AOP（面向切面编程）&lt;/strong&gt;，可以在不修改源代码的情况下，进行功能的增强&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;Spring的特点 
    &lt;div id=&#34;spring的特点&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#spring%e7%9a%84%e7%89%b9%e7%82%b9&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;免费开源，功能不够可以自己去扩展&lt;/li&gt;
&lt;li&gt;它使用IOC容器，管理项目中的所有的组件，以及维护组件之间的关系&lt;/li&gt;
&lt;li&gt;它为企业应用开发，或者互联网应用开发提供了一套非常完整的解决方案&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;是一个轻量级的开源的JavaEE的框架&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class=&#34;relative group&#34;&gt;Spring的优点 
    &lt;div id=&#34;spring的优点&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#spring%e7%9a%84%e4%bc%98%e7%82%b9&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;方便程序解耦，简化开发 （高内聚低耦合）
&lt;ul&gt;
&lt;li&gt;它的底层实现采用的是：工厂 + 反射 + 配置文件&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;它可以帮助程序员去创建组件的实例&lt;/li&gt;
&lt;li&gt;它可以帮助程序员去管理组件之间的依赖关系&lt;/li&gt;
&lt;li&gt;AOP编程的支持
&lt;ul&gt;
&lt;li&gt;Spring提供面向切面编程，可以方便的实现对程序进行权限拦截、运行监控等功能&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;声明式事务的支持
&lt;ul&gt;
&lt;li&gt;只需要通过配置就可以完成对事务的管理，而无需手动编程&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;方便程序的测试
&lt;ul&gt;
&lt;li&gt;Spring对Junit4支持，可以通过注解方便的测试Spring程序&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;方便集成各种优秀框架
&lt;ul&gt;
&lt;li&gt;Spring不排斥各种优秀的开源框架，其内部提供了对各种优秀框架（如：Struts、Hibernate、MyBatis、Quartz等）的直接支持&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;降低JavaEE API的使用难度
&lt;ul&gt;
&lt;li&gt;Spring 对JavaEE开发中非常难用的一些API（JDBC、JavaMail、远程调用等），都提供了封装，使这些API应用难度大大降低&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class=&#34;relative group&#34;&gt;Spring体系结构 
    &lt;div id=&#34;spring体系结构&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#spring%e4%bd%93%e7%b3%bb%e7%bb%93%e6%9e%84&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;






&lt;figure&gt;
      &lt;img
    class=&#34;my-0 rounded-md&#34;
    loading=&#34;lazy&#34;
    decoding=&#34;async&#34;
    fetchpriority=&#34;low&#34;
    alt=&#34;image-20220413162522550&#34;
    data-zoom-src=&#34;https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/0f995af4/image/image-20220413162522550.png&#34;
    src=&#34;https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/0f995af4/image/image-20220413162522550.png&#34;&gt;

  
&lt;/figure&gt;
&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>2、IOC</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/22675b6f/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/22675b6f/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;IOC与DI 
    &lt;div id=&#34;ioc与di&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#ioc%e4%b8%8edi&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;Spring的&lt;strong&gt;IOC&lt;/strong&gt;（Inversion of Control，控制反转）和&lt;strong&gt;DI&lt;/strong&gt;（Dependency Injection，依赖注入）是Spring框架的核心概念，用于实现松耦合和可维护的应用程序。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>3、AOP</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/635a4a4d/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/635a4a4d/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;AOP 
    &lt;div id=&#34;aop&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#aop&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;

&lt;h3 class=&#34;relative group&#34;&gt;AOP的作用 
    &lt;div id=&#34;aop的作用&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#aop%e7%9a%84%e4%bd%9c%e7%94%a8&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h3&gt;
&lt;p&gt;AOP的最大作用：采用代码模式，将核心业务，与非核心业务进行分离关注&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>4、Spring完全注解开发</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/7903f04f/</link>
      <pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/7903f04f/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;Spring完全注解开发 
    &lt;div id=&#34;spring完全注解开发&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#spring%e5%ae%8c%e5%85%a8%e6%b3%a8%e8%a7%a3%e5%bc%80%e5%8f%91&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;完全注解开发是指在Spring应用中完全依赖注解进行配置和开发，而不使用XML配置文件。以下是完全注解开发的一些优点和缺点：&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>5、Async</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/6df7419c/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/6df7419c/</guid>
      <description>&lt;p&gt;Spring封装了一个异步方法的实现，使得方法可以在单独的线程中异步执行，提高系统的并发能力和响应性能。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>6、Schedule</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/69060ec1/</link>
      <pubDate>Sat, 11 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/69060ec1/</guid>
      <description>&lt;p&gt;在Spring框架中，提供了一些用于调度任务的注解，用于实现定时任务的执行。&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>7、Transaction</title>
      <link>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/c6e22db7/</link>
      <pubDate>Fri, 19 Jan 2024 00:00:00 +0000</pubDate>
      
      <guid>https://www.ygang.top/posts/3ab7256e/3f5635d6/c70ae83e/c6e22db7/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;事务 
    &lt;div id=&#34;事务&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#%e4%ba%8b%e5%8a%a1&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;事务在逻辑上是&lt;strong&gt;一组操作&lt;/strong&gt;，要么执行，要不都不执行。主要是针对数据库而言的，比如说 MySQL。事务是恢复和并发控制的基本单位。&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
