-
导入jar包
比起最基本的bean功能使用IOC需要添加一个spring的aop包
-
创建对应包结构与类
-
配置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"
xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- bean definitions here -->
<!-- 开启组件扫描
<context:component-scan base-package="demo.UserServiceImpl"/>
-->
<!-- 扫描demo包下所有类 -->
<context:component-scan base-package="demo"/>
</beans>
-
在spring管理的实现类上添加注解
在类的上面添加
@Component(value="bean名称") 此句注解等同于XML的配置方式中 <bean id="userService" class="...">
package demo;
import org.springframework.stereotype.Component;
@Component(value="userService")
public class UserServiceImpl implements UserService {
@Override
public void usDemo1() {
System.out.println("running:" + this.getClass().getName() + "." + new Exception().getStackTrace()[0].getMethodName());
}
}
-
编写测试代码
package demo;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class IOCDemo {
@Test
public void demo1() {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService us = (UserService) ac.getBean("userService");
us.usDemo1();
}
}
-
输出结果
以上就是最简单的IOC功能实现