<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
		<id>http://wiki.citydatum.com/index.php?action=history&amp;feed=atom&amp;title=Spring%E6%A1%86%E6%9E%B6</id>
		<title>Spring框架 - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.citydatum.com/index.php?action=history&amp;feed=atom&amp;title=Spring%E6%A1%86%E6%9E%B6"/>
		<link rel="alternate" type="text/html" href="http://wiki.citydatum.com/index.php?title=Spring%E6%A1%86%E6%9E%B6&amp;action=history"/>
		<updated>2026-05-05T03:55:04Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.29.1</generator>

	<entry>
		<id>http://wiki.citydatum.com/index.php?title=Spring%E6%A1%86%E6%9E%B6&amp;diff=812&amp;oldid=prev</id>
		<title>Reiziuh：创建页面，内容为“{{提示|该页面仍需进一步完善}}  Spring是一个为了解决企业应用开发的复杂性而创建的开源框架。Spring使用基本的JavaBean来…”</title>
		<link rel="alternate" type="text/html" href="http://wiki.citydatum.com/index.php?title=Spring%E6%A1%86%E6%9E%B6&amp;diff=812&amp;oldid=prev"/>
				<updated>2019-10-29T16:09:17Z</updated>
		
		<summary type="html">&lt;p&gt;创建页面，内容为“{{提示|该页面仍需进一步完善}}  Spring是一个为了解决企业应用开发的复杂性而创建的开源框架。Spring使用基本的&lt;a href=&quot;/index.php?title=JavaBean&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;JavaBean（页面不存在）&quot;&gt;JavaBean&lt;/a&gt;来…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{提示|该页面仍需进一步完善}}&lt;br /&gt;
&lt;br /&gt;
Spring是一个为了解决企业应用开发的复杂性而创建的开源框架。Spring使用基本的[[JavaBean]]来完成以前只可能由[[EJB]]完成的事情。Spring的用途不仅限于服务器端的开发，从简单性、可测试性和松耦合的角度而言，任何[[Java]]应用都可以从Spring中受益。&lt;br /&gt;
&lt;br /&gt;
== 概述 ==&lt;br /&gt;
=== Spring的特性 ===&lt;br /&gt;
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。&lt;br /&gt;
* 轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的[[JAR]]文件里发布。并且Spring所需的处理开销也是微不足道的。此外，Spring是非侵入式的：典型地，Spring应用中的对象不依赖于Spring的特定类。&lt;br /&gt;
* 控制反转——Spring通过一种称作控制反转（IoC）的技术促进了松耦合。当应用了IoC，一个对象依赖的其它对象会通过被动的方式传递进来，而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖，而是容器在对象初始化时不等对象请求就主动将依赖传递给它。&lt;br /&gt;
* 面向切面——Spring提供了面向切面编程的丰富支持，允许通过分离应用的业务逻辑与系统级服务（例如审计（auditing）和事务（transaction）管理）进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责（甚至是意识）其它的系统级关注点，例如日志或事务支持。&lt;br /&gt;
* 容器——Spring包含并管理应用对象的配置和生命周期，在这个意义上它是一种容器，你可以配置你的每个bean如何被创建——基于一个可配置原型（prototype），你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而，Spring不应该被混同于传统的重量级的EJB容器，它们经常是庞大与笨重的，难以使用。&lt;br /&gt;
* 框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中，应用对象被声明式地组合，典型地是在一个[[XML]]文件里。Spring也提供了很多基础功能（事务管理、持久化框架集成等等），将应用逻辑的开发留给了你。&lt;br /&gt;
&lt;br /&gt;
=== Spring Boot ===&lt;br /&gt;
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计，不仅继承了Spring框架原有的优秀特性，而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突，以及引用的不稳定性等问题得到了很好的解决。&lt;br /&gt;
* 可以创建独立的Spring应用程序，并且基于其[[Maven]]或[[Gradle]]插件，可以创建可执行的JARs和WARs；&lt;br /&gt;
* 内嵌[[Tomcat]]或Jetty等Servlet容器；&lt;br /&gt;
* 提供自动配置的“starter”项目对象模型（POMS）以简化Maven配置；&lt;br /&gt;
* 尽可能自动配置Spring容器；&lt;br /&gt;
* 提供准备好的特性，如指标、健康检查和外部化配置；&lt;br /&gt;
* 绝对没有代码生成，不需要[[XML]]配置&lt;br /&gt;
&lt;br /&gt;
== 应用 ==&lt;br /&gt;
* 构建[[RESTful]]网络应用；&lt;br /&gt;
&lt;br /&gt;
== 上手 ==&lt;br /&gt;
* 构建[[RESTful]]网络应用的基本步骤：java源文件编写；安装Maven；创建pom.xml，加载依赖项；编译（compile）或打包（package）；测试运行；&lt;br /&gt;
&lt;br /&gt;
== 参考链接 ==&lt;br /&gt;
* [https://spring.io/ 官方网站]&lt;br /&gt;
* [https://baike.baidu.com/item/spring%E6%A1%86%E6%9E%B6/2853288 百度百科]&lt;/div&gt;</summary>
		<author><name>Reiziuh</name></author>	</entry>

	</feed>