zoukankan      html  css  js  c++  java
  • Spring(一)——总体介绍

    前边讲述了用于处理数据流程的Struts2的框架,和用于操作数据的IBatis持久层框架,这篇博客开始总结一下Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSHStruts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用。好,首先我们先来看一下Spring框架的一些知识点,通过下边这张图来总括一下:


     

             好,这篇博客咱们先来对Spring框架进行一个初步的了解。

     

              一,框架介绍:

              1,先看一下帮助文档的这张图,里边主要包括了Spring自身的功能,还有可以和其框架结合的一些框架,通过这张图可以看出,Spring框架和其他框架的集成能力是非常强的。


     

              2Spring是一个轻量级的IOCAOP容器框架:

     

                     a,轻量级:程序实现不是很复杂,代码不是很多,占用资源不是很多,没有侵入性;

     

                     bIOCInversion of Control 控制反转):对象创建责任的反转(重点,核心);

     

                     c, Aop(Aspect Oriented Programming):一种面向横切面编程的思想方式,可以进行功能性扩展,看前边的一篇转载的博客:面向横切面(AOP)编程

     

                     d,容器:可以容纳对象,并且可以控制对象的生命周期;

             二,看一下使用步骤吧!(框架用多了,感觉步骤都大同小异)

                  1,还是拷贝jar包:

                

                 2,拷贝框架的核心配置文件,存放在src目录下:

              

                3,编写框架的核心配置文件,将声明对象都交给Spring框架来创建,以及初始化,例如service层的类,action层类,dao层类等等,都可以交给Spring进行管理,看一个例子:

     

    1. <!-- 声明Action对象 -->  
    2.   
    3. <bean id="loginAction" class="com.ljh.struts2.action.LoginAction" scope="prototype"></bean>

         分析:a,框架创建对象的方式:

                       框架默认创建对象是单例的:scope="singleton"

                       当然action我们想要多例创建,需要设置:scope="prototype"

     

                  b,工厂BeanFactory,,如果使用BeanFactory来加载Spring配置文件,那么是在调用getBean时,框架调用对象的默认构造方法来创建对象。BeanFactory功能是对bean对象的生命周期进行管理的。(创建,初始化,销毁)。

     

                 c,ApplicationContext(推荐,也是框架默认的)

                   来用才对象来加载Spring配置文件,会在加载时解析配置文件,创建对象,而不是在getBean时创建。其实,ApplicationContext接口继承了BeanFactory,所以具备BeanFactory所有功能,同时增加扩展的功能,例如加载资源配置文件,国际化支持等!

                 4,如何测试,这里我们可以使用Junit(java的单元测试进行测试)(我们现在是单独使用Spring为了是学习,后边会集成多个框架的)

       a,先看一下Junit单元测试的使用方法:Junit4详解

       b,利用beanFactory加载配置文件:

    1. //加载配置文件,创建Spring的应用环境  
    2.         String path = "applicationContext.xml";       
    3.         Resource resource = new ClassPathResource(path);    //推荐  
    4.         //Resource resource = new FileSystemResource("src/applicationContext.xml");  
    5.         //Resource resource = new ServletContextResource(servletContext, path); //如果文件存放到WEB-INF目录下  
    6.           
    7.         BeanFactory factory = new XmlBeanFactory(resource);  
    8.   
    9.         //从Spring环境中获取对象  
    10.         Object obj = factory.getBean("loginAction");  
    11.           
    12.   
    13.         LoginAction action = (LoginAction)obj ; </span>  

          c,  利用ApplicationContext加载配置文件:

    1.   ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");  
    2.               
    3.      Object obj = ac.getBean("loginAction");  

        这就是Spring的简单使用步骤,当然还有配置文件的如何编写,Aop的使用等,后边会介绍到。

    三,Sping框架的优缺点:

         优点:

    • 轻量级的容器框架,没有侵入性
    • IoC更加容易组合对象之间的关系,通过面向接口进行编程,可以低耦合开发。
    • 易于本地测试(Junit单元测试,不用部署服务器)
    • AOP可以更加容易的进行功能扩展,遵循OCP开发原则。
    • Spring默认对象的创建为单例的,我们不需要再使用单例的设计模式来开发单体类。
    • Spring的集成很强大,另外可以对其他框架的配置进行一元化管理。
    • Spring的声明式事务的方便使用。

            缺点:

             自我感觉是所有框架共有的,就是开发对设计要求较高,集成测试麻烦,对框架有一定的依赖性。

             总而言之,Spring框架功能是非常强大的,单独使用可能感觉不是很深,和其他的框架结合使用,就会张显她的魅力了。

  • 相关阅读:
    LA 2038 Strategic game(最小点覆盖,树形dp,二分匹配)
    UVA 10564 Paths through the Hourglass(背包)
    Codeforces Round #323 (Div. 2) D 582B Once Again...(快速幂)
    UVALive 3530 Martian Mining(贪心,dp)
    UVALive 4727 Jump(约瑟夫环,递推)
    UVALive 4731 Cellular Network(贪心,dp)
    UVA Mega Man's Mission(状压dp)
    Aizu 2456 Usoperanto (贪心)
    UVA 11404 Plalidromic Subsquence (回文子序列,LCS)
    Aizu 2304 Reverse Roads(无向流)
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4745890.html
Copyright © 2011-2022 走看看