Spring(二):配置和简单使用

纵然是瞬间 提交于 2020-04-07 05:46:03

1、下载地址(目前使用的是4.2.0)

下面都可以

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

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

源码可以在Git上获取,地址:

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

2、相关jar包

Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现

Spring Aspects:Spring提供的对AspectJ框架的整合

Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。

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即可

3、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>


4、在独立应用程序中简单的获取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");


5、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");


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!