Spring 控制反转和依赖注入demo
一、创建项目并测试
1.1 下载Spring包
去repo.spring.io下载需要的Spring版本zip包。
这里我们下载5.3.9版本。

1.2 eclipse新建Java项目测试控制反转
1、新建时引入spring中的包。

2、新建UserDaointerface,并声明一个sayHello方法。

package cn.amnotgcs;
public interface UserDao {
public void sayHello();
}
3、新建一个UserDaoImplclass,并实现sayHello方法。

package cn.amnotgcs;
public class UserDaoImpl implements UserDao {
@Override
public void sayHello() {
System.out.println("Hello,Spring!");
}
}
4、新建一个application.xml文件,并声明一个UserDao bean。
<?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">
<!-- bean definitions here -->
<bean id="userDao" class="cn.edu.xxu.amnotgcs.UserDaoImpl"></bean>
<bean id="service" class="cn.edu.xxu.amnotgcs.UserDaoService">
<property name="userDaoPro" ref="userDao"></property>
</bean>
</beans>
5、新建一个UserDaoImplTestclass,并测试UserDaoImpl的功能。
package cn.amnotgcs;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoImplTest {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("cn/amnotgcs/application.xml");
UserDao userDao = (UserDao) ac.getBean("userDao");
userDao.sayHello();
}
}
6、测试结果如下:

1.3 测试依赖注入
1、新建一个UserDaoServiceclass,新创建一个方法并在其中调用UserDao中的方法。
package cn.amnotgcs;
public class UserDaoService {
private UserDao userDaoPro;
public void setUserDaoPro(UserDao userDaoPro) {
this.userDaoPro = userDaoPro;
}
public void sayNice() {
userDaoPro.sayHello();
System.out.println("Nice to meet you!");
}
}
2、修改application.xml添加UserDaoServiceBean参数。
<?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">
<bean id="userDao" class="cn.amnotgcs.UserDaoImpl"></bean>
<bean id="service" class="cn.amnotgcs.UserDaoService">
<property name="userDaoPro" ref="userDao"></property>
</bean>
</beans>
3、新建一个UserDaoServiceTestclass,并测试。
package cn.amnotgcs;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class UserDaoServiceTest {
public static void main(String[] args) {
ApplicationContext ac = new ClassPathXmlApplicationContext("cn/amnotgcs/application.xml");
UserDaoService userDaoService = (UserDaoService) ac.getBean("service");
userDaoService.sayNice();
}
}
4、测试结果

有了计划记得推动,不要原地踏步。

浙公网安备 33010602011771号