一篇文章带你入门spring

注:本篇文章不在于让你了解spring的全部,而是创建一个入门的spring程序,让你有一个spring的初体验

          另外呢,虽然此篇文章虽然截图较多,但是认真读绝对能让你去入门spring

Spring开发所需的jar包分为两个部分:Spring框架包第三方依赖包

1.Spring框架包

下载地址JFroghttps://repo.spring.io/ui/native/libs-release-local/org/springframework/spring/4.3.6.RELEASE网页打开后为

这几个包我们是分这下载的

我们一般需要这几个基础jar包,如果再需要jar包我们再继续去导入

 下载完解压后,我们来了解一下这个文件夹目录下的内容

 

 第三方jar包

在使用Spring开发时,除了要使用自带的JAR包外,Spring的核心容器还需要依赖(日志相关的jar包)commons.loggingJAR包    

下载地址:http://commons.apache.org/proper/commons-logging/download_logging.cgi

在使用Spring 开发时,除了要使用自带的 JAR包外,Spring 的核心容器还需要依赖commons.logging 的JAR包。该JAR包可以通过网址“http://commons.apache.org/proper/commons-logging/download_logging.cgi”下载。下载完成后,会得到一个名为 commons-logging-1.2-bin.zit的压缩包。将压缩包解压到自定义目录后,即可找到commons-logging-1.2.jar 。
初学者学习Spring框架时,只需将Spring 的4个基础包以及 commons-logging-1.2.jar复制到项目的lib目录,并发布到类路径中即可。

了解一下spring的核心容器

         Spring容器会负责控制程序之间的关系,而不是由程序代码直接控制。Spring为我们提供了两种核心容器,分别为BeanFactoryApplicationContext

第一种BeanFactory

第二种是ApplicationContext

我们来看一下两个容器的关系

如果说BeanFactory是spring的心脏,那么ApplicationContext就是spring的身躯了。ApplicationContext由BeanFactory派生而来,提供了更多面向实际应用的的功能。还记得上节课我们提到XmlBeanFactory过期的api吗?他的代替方法就是ApplicationContext。

1、ApplicationContext是什么?

ApplicationContext,即应用上下文。ApplicationContext是spring的一个接口,它主要有两个实现类,ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。
下面我们来看一下ApplicationContext的结构体系:

 可以看得出来,ApplicationContext接口的最终父接口是BeanFactory,而最终的实现类,正是我们刚才所说的ClassPathXmlApplicationContext和FileSystemXmlApplicationContext两个类

2、两个最终实现类有什么区别?

ClassPathXmlApplicationContext默认从类路径加载配置文件,而FileSystemXMLApplicationContext默认从文件系统中加载配置文件,其他方面没有很大区别。

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class SpringTest{
    public static void main(String[] args) {
//      ApplicationContext content = new FileSystemXmlApplicationContext("//Users/beijingduanluo/Documents/applicationContext.xml");
        ApplicationContext content = new ClassPathXmlApplicationContext("applicationContext.xml");
        People peo = (People) content.getBean("peo");
        System.out.println(peo);
    }
}

值得注意的是,FileSystemXmlApplicationContext的构造传参如果是字符串并且第一个字符是“/”的话,spring会自动去掉这个“/”,所以必要的时候,需要多谢个“/”,就像上面的例子。

3、应用上下文相对于BeanFactory来说,有哪些扩展?

我们分析一下ApplicationContext相对于BeanFactory多实现的这些接口:

  •     ApplicationEventPublisher:使容器拥有了事件的功能,包括容器启动事件、关闭事件等。
  •     MessageSource:为应用提供i18n国际化消息访问的功能。
  •     ResourcePatternResolver:这个接口让容器可以通过带前缀的ant风格的资源文件路径装载spring的配置文件,其实就是放弃了spring的Resource类,并直接在ApplicationContext构造函数传参带通配符的路径字符串。
  •     LifeCycle:该接口提供了start()和stop()两个方法,主要用于控制异步处理。

    这些接口,是BeanFactory没有,而ApplicationContext特有的,也就意味着ApplicationContext要比BeanFactory多出这些功能。所以我们经常这么来描述BeanFactory和ApplicationContext的关系:BeanFactory面向的是程序底层,ApplicationContext面向的应用功能。
 

入门程序

准备工作

 因为在以后的项目中有几个核心包我们是必定要导入的

所以我们把spring框架包里边的4个基础核心包为了以后导包方便,拿出来放入一个文件夹下

为了让我们的eclipse使用起来更加的方便

我们调整一下new的这个菜单

勾选你所常用的,应用即可

 第一步  创建动态web项目

第二步 导入jar包,直接复制到lib目录下

 放到lib目录以后并不是真正的导入,而是出现以下图片后才能算

在这导入jar包后会出现

如果没有则手动导入一下

第三步我们去写业务逻辑

定义一个UserDao的接口

实现这个接口

 引入xml文件

 

这里边的内容怎么填呢

我们从spring框架包中找到

 进入此网页        

 这里有个xml的样例

接下来我们补充一下自己xml文件

每个地址逗得按照ctrl键能够访问,注意 “ 分号的影响,可以给它换个行在进行访问

 

此时呢 会报一个没有找到某个类的错误,是因为我们光引入了spring框架包

我们还需要引入第三方依赖

这样我们的程序就可以运行了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值