一、下载地址(目前使用的是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");