Spring 控制反转和依赖注入demo
一、创建项目并测试
1.1 下载Spring包
去repo.spring.io下载需要的Spring版本zip包。
这里我们下载5.3.9版本。
1.2 eclipse新建Java项目测试控制反转
1、新建时引入spring中的包。
2、新建UserDao
interface,并声明一个sayHello
方法。
package cn.amnotgcs;
public interface UserDao {
public void sayHello();
}
3、新建一个UserDaoImpl
class,并实现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、新建一个UserDaoImplTest
class,并测试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、新建一个UserDaoService
class,新创建一个方法并在其中调用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
添加UserDaoService
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 id="userDao" class="cn.amnotgcs.UserDaoImpl"></bean>
<bean id="service" class="cn.amnotgcs.UserDaoService">
<property name="userDaoPro" ref="userDao"></property>
</bean>
</beans>
3、新建一个UserDaoServiceTest
class,并测试。
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、测试结果
有了计划记得推动,不要原地踏步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2020-03-02 资源整合,总有你想要的
2020-03-02 python 爬虫之 urllib库