区别:
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/>
用xml方式管理bean
测试类代码如下
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();
}
}
运行结果如下