Spring(二):配置和簡單使用

一、下載地址(目前使用的是4.2.0)java

下面均可以git

http://repo.springsource.org/libs-release-local/org/springframework/springgithub

http://repo.spring.io/simple/libs-release-local/org/springframework/spring/web

源碼能夠在Git上獲取,地址:spring

https://github.com/spring-projects/spring-framework express

二、相關jar包編程

Spring AOP:Spring的面向切面編程,提供AOP(面向切面編程)的實現api

Spring Aspects:Spring提供的對AspectJ框架的整合緩存

Spring Beans:Spring IOC的基礎實現,包含訪問配置文件、建立和管理bean等。tomcat

Spring Context:在基礎IOC功能上提供擴展服務,此外還提供許多企業級服務的支持,有郵件服務、任務調度、JNDI定位,EJB集成、遠程訪問、緩存以及多種視圖層框架的支持。

Spring Context Support:Spring context的擴展支持,用於MVC方面。

Spring Core:Spring的核心工具包

Spring expression:Spring表達式語言

Spring Framework Bom:

Spring Instrument:Spring對服務器的代理接口

Spring Instrument Tomcat:Spring對tomcat鏈接池的集成

Spring JDBC:對JDBC 的簡單封裝

Spring JMS:爲簡化jms api的使用而作的簡單封裝

Spring Messaging:

Spring orm:整合第三方的orm實現,如hibernate,ibatis,jdo以及spring 的jpa實現

Spring oxm:Spring對於object/xml映射的支持,可讓JAVA與XML之間來回切換

Spring test:對JUNIT等測試框架的簡單封裝

Spring tx:爲JDBC、Hibernate、JDO、JPA等提供的一致的聲明式和編程式事務管理。

Spring web:包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF集成類、文件上傳的支持類、Filter類和大量工具輔助類。

Spring webmvc:包含SpringMVC框架相關的全部類。包含國際化、標籤、Theme、視圖展示的FreeMarker、asperReports、Tiles、Velocity、XSLT相關類。固然,若是你的應用使用了獨立的MVC框架,則無需這個JAR文件裏的任何類。

Spring webmvc portlet:Spring MVC的加強

Spring websocket:


將以上jar包以及commons-logging.jar加入BuildPath便可

三、xml配置

applicationContext.xml

<?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">

</beans>


四、在獨立應用程序中簡單的獲取Bean

簡單的用ApplicationContext作測試的話,得到Spring中定義的Bean實例(對象),ApplicationContext能夠用ClassPathXmlApplicationContext 或者FileSystemXmlApplicationContext 

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("E:/Java_Project/TestSpring/src/applicationContext.xml");

context.getBean("配置文件中的beanId");


五、Web開發中的ApplicationContext加載器

 加載器目前有兩種選擇:ContextLoaderListener和ContextLoaderServlet。 

       這二者在功能上徹底等同,只是一個是基於Servlet2.3版本中新引入的Listener接口實現,而另外一個基於Servlet接口實現。開發中可根據目標Web容器的實際狀況進行選擇。 

        ContextLoaderServlet已經不推薦用了,它只是爲了兼容低版本的servlet.jar才用的。總的來講:Listerner要比Servlet更好一些,並且Listerner監聽應用的啓動和結束,而Servlet啓動要稍微延遲一些。


配置很是簡單,在web.xml中增長:

<listener> 
     <listener-class> 
          org.springframework.web.context.ContextLoaderListener 
     </listener-class> 
</listener>

或者

<servlet> 
       <servlet-name>context</servlet-name> 
       <servlet-class> 
          org.springframework.web.context.ContextLoaderServlet 
       </servlet-class> 
       <load-on-startup>1</load-on-startup> 
</servlet>


經過以上配置,Web容器會自動加載/WEB-INF/applicationContext.xml初始化


ApplicationContext實例,若是須要指定配置文件位置,可經過context-param加以指定:

<context-param> 
       <param-name>contextConfigLocation</param-name> 
       <param-value>/WEB-INF/myApplicationContext.xml</param-value> 
</context-param>


配置完成以後,便可經過 

WebApplicationContextUtils.getWebApplicationContext方法在Web應用中獲取ApplicationContext引用

ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(); 
ctx.getBean("beanId");
相關文章
相關標籤/搜索