IOC注解开发与XML整合

区别:

xml:可以适用于任何场景,结构清晰,方便维护

注解:开发方便,快速。有些地方适用不了,这个类不是自己提供的(比如源码提供的类)

xml和注解整合开发,各取所长

xml使用于对bean进行管理,方便后期维护。注解是方便进行属性注入

package zcc.spring_day2.demo3;

public class OrderDao {
public void save() {
System.out.println("OrderDao的save方法执行了.......");
}
}
package zcc.spring_day2.demo3;

public class ProudctDao {
public void save() {
System.out.println("ProudctDao的save方法执行了.......");
}
}
package zcc.spring_day2.demo3;

import javax.annotation.Resource;

public class UserService {
@Resource(name="orderDao")
private OrderDao orderDao;
@Resource(name="productDao")
private ProudctDao productDao; /*public void setOrderDao(OrderDao orderDao) {
this.orderDao = orderDao;
}
public void setProductDao(ProudctDao productDao) {
this.productDao = productDao;
}*/ public void save() {
System.out.println("UserService的save方法执行了.......");
orderDao.save();
productDao.save();
}
}

在没有开启扫描的情况下,若要使用注解开发,需要在xml中开启<context:annotation-config/>

IOC注解开发与XML整合

用xml方式管理bean

IOC注解开发与XML整合

测试类代码如下

package zcc.spring_day2.demo3;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
* XML和注解整合,XML管理类,用注解来完成属性注入
*/
public class SpringDemo3 {
@Test
public void demo1() {
// 创建spring的工厂来将xml中所有的bean实例化
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext2.xml");
UserService bean = (UserService) applicationContext.getBean("userService");
bean.save();
}
}

运行结果如下

IOC注解开发与XML整合

上一篇:Mac版 IntelliJ Idea使用系列(一)


下一篇:bzoj2668