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号