<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>spring</title>
	<atom:link href="https://www.aitaocui.cn/tag/196724/feed" rel="self" type="application/rss+xml" />
	<link>https://www.aitaocui.cn</link>
	<description>翡翠玉石爱好者聚集地</description>
	<lastBuildDate>Thu, 24 Nov 2022 02:08:20 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://www.aitaocui.cn/wp-content/uploads/2022/11/taocui.png</url>
	<title>spring</title>
	<link>https://www.aitaocui.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>spring(由Rod Johnson创建的一个开源框架)</title>
		<link>https://www.aitaocui.cn/article/305916.html</link>
					<comments>https://www.aitaocui.cn/article/305916.html#respond</comments>
		
		<dc:creator><![CDATA[朱总理]]></dc:creator>
		<pubDate>Thu, 24 Nov 2022 02:08:20 +0000</pubDate>
				<category><![CDATA[百科]]></category>
		<category><![CDATA[spring]]></category>
		<guid isPermaLink="false">https://www.aitaocui.cn/?p=305916</guid>

					<description><![CDATA[Spring是一个开源框架，Spring是于2003年兴起的一个轻量级的Java开发框架，由RodJohnson在其着作ExpertOne-On-OneJ2EEDevelopmen...]]></description>
										<content:encoded><![CDATA[</p>
<article>
<p>Spring是一个开源框架，Spring是于2003年兴起的一个轻量级的Java开发框架，由RodJohnson在其着作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构，分层架构允许使用者选择使用哪一个组件，同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而，Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言，任何Java应用都可以从Spring中受益。Spring的核心是控制反转（IoC）和面向切面（AOP）。简单来说，Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。</p>
</article>
<p><img decoding="async" src="https://www.aitaocui.cn/wp-content/uploads/2022/08/20220828_630b5741da8d1.jpg" /></p>
<article>
<h1>基本概念</h1>
<h2 id="a-929d4b8f">汉语释义</h2>
<p>spring：春天、弹簧、跳跃和泉眼</p>
<h2 id="a-cd085b1d">技术术语</h2>
<p>Spring也表示是一个开源框架，是为了解决企业应用程序开发复杂性由RodJohnson创建的。</p>
<h1>平台术语</h1>
<p>Spring并不是Java所特有的，它也应用于.NET平台。而且得到了很好的发展！</p>
<p>SpringDOTNET是一个关注于.NET企业应用开发的应用程序框架。它能够提供宽广范围的功能，例如依赖注入、面向方面编程(AOP）、数据访问抽象，以及ASPDOTNET集成等。基于java的spring框架的核心概念和价值已被应用到.NET。SpringDOTNET1.0包含一个完全功能的依赖注入容器和AOP库。后续的发布将包含对ASPDOTNET、Remoting和数据访问的支持。</p>
<h2 id="a-79a2a7c3">研究源代码的步骤</h2>
<p>Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。同时他的源代码的设计理念也受到很多程序员的追捧，简洁，易用.可是从哪着手研究Spring却是很多新手头疼的地方，下面的参考资料将带领大家慢慢的深入解析Spring</p>
<div></div>
<p>1Spring中的事务处理</p>
<p>2ioc容器在Web容器中的启动</p>
<p>3SpringJDBC</p>
<p>4SpringMVC</p>
<p>5SpringAOP获取Proxy</p>
<p>6Spring声明式事务处理</p>
<p>7SpringAOP中对拦截器调用的实现</p>
<p>8Spring驱动Hibernate的实现</p>
<p>9SpringAcegi框架鉴权的实现</p>
<h2 id="a-33041602">IOC和AOP</h2>
<p>控制反转模式（也称作依赖性注入）的基本概念是：不创建对象，但是描述创建它们的方式。在代码中不直接与对象和服务连接，但在配置文件中描述哪一个组件需要哪一项服务。容器（在Spring框架中是IOC容器）负责将这些联系在一起。在典型的IOC场景中，容器创建了所有对象，并设置必要的属性将它们连接在一起，决定什么时间调用方法。下表列出了IOC的一个实现模式。</p>
<table style="width:18px">
<colgroup>
<col width="9" />
<col width="9" /></colgroup>
<tr style="height:33px"></tr>
<tr>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>类型1</p>
</td>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>服务需要实现专门的接口，通过接口，由对象提供这些服务，可以从对象查询依赖性（例如，需要的附加服务）【接口注入】。</p>
</td>
</tr>
<tr style="height:33px"></tr>
<tr>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>类型2</p>
</td>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>通过JavaBean的属性（例如setter方法）分配依赖性【setter方法注入】。</p>
</td>
</tr>
<tr style="height:33px"></tr>
<tr>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>类型3</p>
</td>
<td colspan="1" rowspan="1" style="border-left:1px solid #000000;border-right:1px solid #000000;border-bottom:1px solid #000000;border-top:1px solid #000000">
<p>依赖性以构造函数的形式提供，不以JavaBean属性的形式公开【构造器注入】。</p>
</td>
</tr>
<tr style="height:33px"></tr>
</table>
<p>Spring框架的IOC容器采用类型2和类型3实现。</p>
<p>面向方面的编程，即AOP，是一种编程技术，它允许程序员对横切关注点或横切典型的职责分界线的行为（例如日志和事务管理）进行模块化。AOP的核心构造是方面，它将那些影响多个类的行为封装到可重用的模块中。</p>
<p>AOP和IOC是补充性的技术，它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中，可能要将日志记录语句放在所有方法和Java类中才能实现日志功能。在AOP方式中，可以反过来将日志服务模块化，并以声明的方式将它们应用到需要日志的组件上。当然，优势就是Java类不需要知道日志服务的存在，也不需要考虑相关的代码。所以，用SpringAOP编写的应用程序代码是松散耦合的。</p>
<p>AOP的功能完全集成到了Spring事务管理、日志和其他各种特性的上下文中。</p>
<p>AOP编程方面,Spring提供了很多特性,例如PointCut,Advice,Advisor,粗略来说就是事务管理、日志和其他各种特性的切入地点。</p>
<h2 id="a-e162f99b">IOC容器</h2>
<p>Spring设计的核心是org.springframework.beans包，它的设计目标是与JavaBean组件一起使用。这个包通常不是由用户直接使用，而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是BeanFactory接口，它是工厂设计模式的实现，允许通过名称创建和检索对象。BeanFactory也可以管理对象之间的关系。</p>
<p>BeanFactory支持两个对象模型。</p>
<p>1、单态模型提供了具有特定名称的对象的共享实例，可以在查询时对其进行检索。Singleton是默认的也是最常用的对象模型。对于无状态服务对象很理想。</p>
<p>2、原型模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时，原型模型最适合。</p>
<p>bean工厂的概念是Spring作为IOC容器的基础。IOC将处理事情的责任从应用程序代码转移到框架。</p>
</article>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
<div class="mt-3 mb-3" style="max-width: 770px;height: auto;">
                                    </div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.aitaocui.cn/article/305916.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
