(一)IOC:控制反转 控制被调用者不再由调用者完成,而是由spring完成,然后注入调用者。也称为依赖注入(DI)。
注入:Spring容器加载bean配置时,完成对变量的赋值。两种方式:设值注入(直观,自然),构造注入(可在控制器中决定依赖关系顺序)。
xml:
//设值注入(设值属性)
<bean id="xService" class="com.imooc.ic.x.service.XServiceImpl">
<property name="xDAO" ref="xDAO"/></bean>
//构造注入(利用构造器)
<bean id="xService" class="com.imooc.ic.x.service.XServiceImpl">
<constructor-arg name="xDAO" ref="xDAO"/></bean>
Impl实现类:
public class xServiceImpl implements xService{
private xDAO xDAO;
//设值注入,set方法
public void setxDAO(xDAO xDAO){
this.xDAO=xDAO;
}
//构造器注入
public xServiceImpl(xDAO xDAO){
this.xDAO=xDAO;
}
//其它函数实现方法
public void save(){
}
}
(二)aop(面向切面编程)是对oop(面向对象编程)的补充,是对各执行步骤的划分。
(三)补充测试类
import org.junit.Test;
@RunWith(BlockJUnit4ClassRunner.class)
public class TestOneInterface extends UnitTestBase{
public TestOneInterface(){
super("classpath*:spring-ioc.xml");
}
@Test
public void test(){
oneInterface oneInterface=super.getBean("oneInterface");
System.out.println(oneinterface.hello("参数"));
}
}