这两天在学习spring框架,有一个问题困扰了我很久,希望在这里能得到解答。
目前的程序是可以运行的,项目文件的结构是这样的:
UserDao的代码如下:
package com.rl.spring.dao;
public interface UserDao {
void test();
}
UserDaoImpl的代码如下:
package com.rl.spring.dao.impl;
import com.rl.spring.dao.UserDao;
public class UserDaoImpl implements UserDao {
public void test(){
System.out.println("userDaoImpl test success");
}
}
配置文件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-4.3.xsd">
<bean id="userDao" class="com.rl.spring.dao.impl.UserDaoImpl" ></bean>
</beans>
我创建了一个单元测试,代码如下:
package com.rl.spring.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.event.ApplicationContextEvent;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.rl.spring.dao.UserDao;
public class TestSpring {
@Test
public void test(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");
UserDao obj = (UserDao) ctx.getBean("userDao");
obj.test();
}
}
到目前为止,一切都是十分顺利的。
问题
假设我自己的项目中只有一个基类UserDao,而UserDao的具体实现UserDaoImpl则是别人写的,他把生成的jar包发给我,那我怎么样才能不修改我的代码,直接修改配置文件ApplicationContext.xml,就能加载别人写的类,在我的程序中生成UserDaoImpl对象呢?
噜噜哒
相关分类