实用工具:Idea2019版本
一、创建一个meven-webAPP
二、手动创建 java和resources文件夹
三、在pom.xml中导入spring依赖
<!-- spring begin -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring end -->
四、创建com.hxci.ioc包,存放类和接口
五、 在dao层接口中写入say()方法并在实现类中实现方法.service同理
package com.hxci.ioc; public interface UserDao { public void say(); }
package com.hxci.ioc; public class UserDaoImpl implements UserDao { @Override public void say() { System.out.println("userDao say hello 呼兵!"); } }
package com.hxci.ioc; public interface UserService { public void say(); }
package com.hxci.ioc; public class UserSerivceImpl implements UserService { private UserDao userDao; /*添加set方法*/ public void setUserDao(UserDao userDao) { this.userDao = userDao; } @Override public void say() { this.userDao.say(); System.out.println("userSerivce say hello 呼兵!"); } }
六、resources中创建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.xsd">
<bean id="userDao" class="com.hxci.ioc.UserDaoImpl"></bean>
<bean id="userSerivce" class="com.hxci.ioc.UserSerivceImpl">
<property name="userDao" ref="userDao"/>
</bean>
</beans>
七、创建测试类进行测试
package com.hxci.ioc; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestIoC { public static void main(String[] args){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); UserDao userDao = (UserDao)applicationContext.getBean("userDao"); userDao.say(); } }
八、 测试成功:
附加:DI注入
创建DI测试类测试Di
package com.hxci.ioc; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestDi { public static void main(String[] args){ ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); UserService userService = (UserService)applicationContext.getBean("userSerivce"); userService.say(); } }
测试成功: