Spring(二):Spring框架&Hello Spring

Spring是一個開源框架,是爲了解決企業應用程序開發複雜性而建立的。框架的主要優點之一就是其分層架構,分層架構容許您選擇使用哪個組件,同時爲J2EE應用程序開發提供集成的框架。java

  • Spring 框架

Spring框架是一個分層架構,由7個定義良好的模塊組成。Spring模塊構建在覈心容器之上,核心容器定義了建立、配置和管理bean的方式。spring

組成Spring框架的每一個模塊(或組件)均可以單獨存在,或者與其餘一個或多個模塊聯合實現。每一個模塊的功能以下:數據庫

核心容器:核心容器提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現。BeanFactory使用控制反轉(IOC)模式將應用程序的配置和依賴性規範與實際的應用程序代碼分開。編程

Spring上下文:Spring上下文是一個配置文件,向Spring框架提供上下問信息。Spring上下文包括企業服務,例如:JNDI、EJB、電子郵件、國際化、校驗和調度功能。架構

Spring AOP:經過配置管理特性,Spring AOP模塊直接將面向方面的編程功能集成到了Spring框架中。因此,能夠容易地使Spring框架管理的任何對象支持AOP。Spring AOP模塊爲基於Spring的應用程序中的對象提供了事務管理服務。經過使用Spring AOP,不用依賴EJB組件,就能夠將聲明性事務管理集成到應用程序中。app

Spring DAO:JDBC DAO抽象層提供了有意義的異常層次結構,可用該結構來管理異常處理和不一樣數據庫供應商拋出的異常消息。異常層次結構簡化了錯誤處理,並極大地下降了須要編寫的異常代碼數量(例如:打開和關閉鏈接)。Spring DAO的面向JDBC的異常聽從通用的DAO異常層次結構。框架

Spring ORM:Spring框架插入了若干個ORM框架,從而提供了ORM的對象關係工具,其中包括JDO、Hibernate和iBatis SQL Map。全部這些都聽從Spring的通用事務和DAO異常層次結構。工具

Spring Web模塊:Web上下文模塊創建在應用程序上下文模塊之上,爲基於Web的應用程序提供了上下文。因此,Spring框架支持與Jakarta Struts的集成。Web模塊還簡化了處理多部分請求以及將請求參數綁定到域對象的工做。this

Spring MVC模塊:MVC框架是一個全功能的構建Web應用程序的MVC實現。經過策略接口,MVC框架編程爲高度可配置的,MVC容納了大量視圖技術,其中包括JSP、Velocity、Tiles、iText和POI。spa

參考文章:https://www.ibm.com/developerworks/cn/java/wa-spring1/

  • Hello Spring工程

創一個Java Project工程,建立com.dx.spring.beans包,在包下建立類:

HelloSpring.java

package com.dx.spring.beans;

public class HelloSpring {
    private String name;

    public HelloSpring() {

    }

    public void setName(String name) {
        this.name = name;
    }

    public void sayHello() {
        System.out.println("Hello " + this.name);
    }
}

通常按照正常的調用方式,咱們須要建立一個MyClient.java

package com.dx.spring.beans;

public class MyClient {
    public static void main(String[] args) {
        HelloSpring helloSpring = new HelloSpring();
        helloSpring.setName("Spring");
        helloSpring.sayHello();
    }
}

若是咱們使用了spring來管理HelloSpring,須要作如下工做:

一、在工程下根目錄下建立一個lib文件夾,把spring必須的依賴包拷貝到lib下,並右鍵添加到引用中。

二、須要在src根目錄下建立applicationContext.xml(Spring Bean Configuration File)文件,並編寫配置文件信息:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="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.xsd">
    
    <bean name="helloSpring" class="com.dx.spring.beans.HelloSpring">
        <property name="name" value="Spring"></property>
    </bean>

</beans>

三、修改MyClient.java的調用方式:

package com.dx.spring.beans;

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

public class MyClient {
    public static void main(String[] args) {
        ApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");
        HelloSpring helloSpring = (HelloSpring) cxt.getBean("helloSpring");
        helloSpring.sayHello();
    }
}
相關文章
相關標籤/搜索