Spring环境配置

温馨提示:如果感觉问题不大,可以直接看后面的总结。

一、进入Spring官网下载Spring开发包:https://spring.io/

但是很麻烦,这个是我用的
链接:https://pan.baidu.com/s/1Y3vz2U3sgsKSI83DmEFPLg
提取码:h6e3

两个都要下,先解4.1.7这个Spring的开发包

二、解压,然后你可以查看它的相关API文档啊,源码之类的,比如我查看的是PDF文档

springdateredis lettuce 配置 spring怎么配置_spring


你也可以查看,HTML或者

springdateredis lettuce 配置 spring怎么配置_jar_02

三,进入书签模式,找到 Part I,overview of spring framework(第一部分,Spring框架的概述),进入里面的G etting started with Spring(Spring入门)向下滑,可以看到 Runtime,Spring是怎么运行的。找到我们需要的jar包

springdateredis lettuce 配置 spring怎么配置_xml_03

四、在压缩好的文件夹下的libs路径下找E:\spring-framework-4.1.7.RELEASE\libs

在项目里面新建一个文件夹lib并把刚才找到的包放进去,导包

springdateredis lettuce 配置 spring怎么配置_spring_04

五、在项目src下新建一个xml文件,applicationContext.xml在说明文档中找到,applicationContext.xml的配置。bean标签里面的可以不要

springdateredis lettuce 配置 spring怎么配置_spring_05

<?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-4.1.xsd">

	
</beans>

如果出现报错改一下版本,那个都行

springdateredis lettuce 配置 spring怎么配置_xml_06

六、我们说过applicationContext是帮助我们来new对象的,控制对象的生命周期。下面我们来说怎么使用:
eg:一个用户突然想把某个方法改成另外一一个方法
我们可以在applicationContext中配置它的dao和service来控制它。

<?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-4.1.xsd">

	<!--IUserDao userDao = new UserDaoImpl(); -->
	<bean id="userDao" class="spring.UserDaoImpl"></bean>
	<bean id="userDao2" class="spring.UserDaoImpl_2"></bean>
	
	<!-- UserService userService = new UserService(userDao); -->
	<bean id="userService" class="spring.UserService">
		<constructor-arg ref="userDao2"></constructor-arg>
	</bean>

</beans>

然后我们进行测试:
怎么测试?我这里面创建了一个IUserDao接口这里面有一个selectUser()方法,分别让UserDaoImpl与UserDaoimpl_2继承它,然后在它们重写的方法里面分别写一句输出的话,然后在写一个Uservice分别去实现Dao里面的方法

Uservice:

package spring;

public class UserService {

	
	private IUserDao userDao;
	
	public UserService(IUserDao userDao)
	{
		this.userDao = userDao;
	}
	
	public void findUsers()
	{
	    userDao.selectUser();
	}
}

test:

public class Test {

	public static void main(String[] args) {
		
		
		//加载并解析applicationContext.xml返回一个beanfactoryBean工厂
		 BeanFactory factory= new ClassPathXmlApplicationContext("applicationContext.xml");
		 //获取工厂中的service对象
		 UserService userService=(UserService)factory.getBean("userService");
		 //调用方法
		 userService.findUsers();
		 
		/*
		  通过Spring我们以后修改的时候,可以通过applicationContext.xml来修改
		  只用重新启动服务器,不用再一次编译
		 */
	}

结果为:

springdateredis lettuce 配置 spring怎么配置_spring_07


解决办法:解压第一个压缩包spring-framework-4.0.0-dependencies,

路径为:

E:\spring-framework-4.0.0-dependencies\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f

导入包后面就ok了。

结果为:

springdateredis lettuce 配置 spring怎么配置_xml_08

最后我们来总结一下:
1.完成DAO、Service接口或类的定义

2.在项目根下新建一个lib文件夹,导入核心的jar包

spring-beans.jar
spring-context.jar
spring-core.jar
spring-expression.jar

运行过程中,抛出异常:java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
需要导入【依赖包】:
    commons-logging-1.1.3.jar

3.在src下新建是spring核心配置文件applicationContext.xml,并且完成DAO、Service对象的管理
<?xml version="1.0" encoding="UTF-8"?>

<!--IUserDao userDao = new UserDaoImpl(); -->
	<bean id="userDao" class="spring.UserDaoImpl"></bean>
	<bean id="userDao2" class="spring.UserDaoImpl_2"></bean>
	
	<!-- UserService userService = new UserService(userDao); -->
	<bean id="userService" class="spring.UserService">
		<constructor-arg ref="userDao2"></constructor-arg>
	</bean>

</beans>

4.测试
//1.加载并且解析applicationContext.xml
BeanFactory factory = new ClassPathXmlApplicationContext(“applicationContext.xml”);

//2.获取工厂中的service对象了
UserService userService = (UserService)factory.getBean("userService");

//3.调用方法
userService.findUsers();