Spring基础01--Spring入门

1、Spring简介

Spring的核心是轻量级(Lightweigt)的容器,它是实现IOC(Inversion of Control)容器和非侵入式(No intrusive)的框架,它提供AOP(Aspect-orientedprogramming)概念的实现方式;提供对持久层(Persistence),事务(Transaction)的支持,提供MVC WEB框架的实现,并对一些常用的企业级API提供一致的模型封装,是一个全方面的应用程序框架。

Spring的核心是控制反转IOC面向切面AOP

2、Spring优点

  • 轻量级(Lightweight)
    轻量级是相对于一些重量级的容器(EJB)来说的,Spring的核心包不是很大,大概2.3M,使用Spring的核心功能需要的资源也不是很大。
    另一方面说spring框架在系统初始化的时候不用加载所有的服务,为系统节约了资源!而EJB框架就是重量级的,每次初始化都必须加载所有的服务!
    此外,所谓Spring是轻量级是相对的,当Spring所以的服务都开启的情况下Spring也是重量级的框架。
  • IOC容器
    控制反转,依赖注入。
    从对象角度来说,可以避免对象之间的耦合,实现了对象的分离、解耦;从容器的角度来说,可以避免应用程序依赖于容器的功能,而从容器脱离。反转就是说程序本身不创建对象,而变为被动接受容器创建的对象。
  • AOP面向切面编程
    通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
  • 对事务的支持
    在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式灵活地进行事物的管理,提高开发效率和质量。
  • 对框架的支持
    Spring可以将简单的组件配置、组合成为复杂的应用。

3、Spring下载

Spring相关信息可以去Spring官网查看,点击链接下载,不过都是全英文版本的。
Spring目前的最新版本是4.2.2,点击链接下载,解压后应该是这样的:
Spring基础01--Spring入门_第1张图片
1、docs下是Spring相关资料,包括一个官方的英文版的资料《spring-framework-reference.pdf》以及网页版本的Spring API,上面有所有的Spring类与方法相关信息,就和JDK API一样

2、libs下包括了Spring所有jar包,注意一下”.javadoc.jar”和”.sources.jar”结尾的都是每个模块Spring提供的一些辅助文档而已,并不是真正要用的jar包的内容

3、schema里面是Spring每个组件、每个版本的.xsd文件,用来设置.xml文件自动提示用的

4、Spring环境搭建以及.xml文件自动提示设置

如何搭建一个Spring框架以及如何为.xml文件设置Spring标签及相应属性的自动提示:

1、右键工程->Build Path->Configure Build Path…,选择Add External JARs…,导入所有libs下的jar包(如果只用bean工厂的功能其实不全部导入也行)

2、Spring的使用是通过写配置文件的,所以右键src->new->File,随便命名,以xml结尾即可.

3、xml文件里面写入,这是最基础的模板,往后所有功能都在这个模板上扩展:
普通格式:

"1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">

添加注解后的格式:

   
<beans xmlns="http://www.springframework.org/schema/beans"  
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context"  
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd">


bean>

4、点击Window->Preferences->MyEclipse->Files and Editors->XML->XML Catalog->Add->File System…,选择解压后的目录Schema文件夹,beans目录下的spring-beans-4.2.xsd,其实选任何一个版本的.xsd都可以,只要和你的Spring的.xml文件里面那个版本号对应就可以了。

5、选择Key Type点击Schema Location,key填点击复制链接,也就是.xml文件里面的那个路径

6、点击OK即可,之后配置Spring别的功能比如aop、context、jdbc什么的XML提示也可以用类似的方法,.xml里面配置一个地址,XML Catalog里面添加一个XML Catalog Entry

5、Spring日志系统搭建

Spring采用Apache common_logging,并结合Apache log4j作为日志输出组件,为了在调试过程中可以观察到Spring的日志输出,请先下载common_logging和log4j两个jar包。
下载了之后请确保你的CLASSPATH下有这两个jar包。有了这两个jar包之后,右键src,新建一个”log4j.properties”文件,配置如下:

log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n

这样,在使用Spring的过程中,你就可以看到Spring的日志输出了。

6、Spring源码下载及导入MyEclipse

既然我们的要学习源代码,那势必要获取Spring的源码。Spring的源码是通过GitHub进行管理的,下载Spring源码并导入MyEclipse需要两样工具:

1、安装Git

2、Gradle,下载链接,注意下载安装完Gradle要创建GRADLE_HOME系统变量,并将这个系统变量加入到path中,就和JDK一样,安装完进入cmd,输入命令”gradle -version”,打印出gradle的版本信息就表示gradle可以用了
Spring基础01--Spring入门_第2张图片

GitHub和Gradle都安装完毕之后,分两步:

1、使用Git下载源码

先随便找一个想要下载到的目录,使用如下命令下载Spring源代码。

git clone git://github.com/SpringSource/Spring-framwwork.git

下载完毕应该是:

Spring基础01--Spring入门_第3张图片

2、当前下载的源码并不能直接导入MyEclipse中,我们还需要将源码转换为MyEclipse认识的形式,所以这时候就要用Gradle了。cmd进入命令窗口,切换至下载Spring源码所在的目录,我们想要把哪个模块的源码转成MyEclipse的就操作哪个文件夹,具体方式为:

Spring基础01--Spring入门_第4张图片

转换完毕应该是:

Spring基础01--Spring入门_第5张图片

此时我们看一下文件夹下的spring-beans目录:

Spring基础01--Spring入门_第6张图片
这就是MyEclipse认识的形式,直接Import进入MyEclipse,当然这个时候项目上有红色感叹号,表示工程有错,用一样的方式把spring-core转一下导入源码工程就好了。另外,spring-cglib-repack-3.1.jar和spring-objenesis-repack-2.2.jar报错的问题,上网找一下这两个jar包下载并导入就好了。

你可能感兴趣的:(Spring系列框架,SSM框架)