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、测试结果

posted @   那个白熊  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2020-03-02 资源整合,总有你想要的
2020-03-02 python 爬虫之 urllib库
点击右上角即可分享
微信分享提示