XML:可以使用任何场景

优点:结构清晰,维护方便

注解:有些地方用不了,这个类不是自己提供的

优点:开发方便

ProductDao.java

package com.cherry.spring.demo3;

public class ProductDao {

public void save() {
System.out.println("ProductDao的save方法执行..");
}
}

OrderDao.java

package com.cherry.spring.demo3;

public class OrderDao {

public void save() {
System.out.println("OrderDao的save方法执行..");
}
}

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">

<!-- Spring的IOC的注解的入门 -->
<!-- 使用IOC的注解开发,配置扫描(哪些包下的类使用IOC的注解) -->
<!-- 扫描时为了扫描类上的注解 -->
<!-- <context:component-scan base-package="com.cherry.spring"/> -->

<!-- 在没有扫描的情况下使用属性注入的注解:@Resource @Value @Autowired @Qulifier -->
<context:annotation-config/>

<bean name="productService" class="com.cherry.spring.demo3.ProductService"></bean>

<bean name="productDao" class="com.cherry.spring.demo3.ProductDao"/>
<bean name="orderDao" class="com.cherry.spring.demo3.OrderDao"/>

</beans>

ProductService.java

package com.cherry.spring.demo3;

import javax.annotation.Resource;

public class ProductService {

@Resource(name="productDao")
private ProductDao productDao;
@Resource(name="orderDao")
private OrderDao orderDao;



public void setProductDao(ProductDao productDao) {
this.productDao = productDao;
}



public void setOrderDao(OrderDao orderDao) {
this.orderDao = orderDao;
}



public void save() {
System.out.println("ProductService的save方法执行了..");
productDao.save();
orderDao.save();
}
}

测试类

package com.cherry.spring.demo3;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringDemo3 {

@Test
public void demo1() {
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
ProductService productService = (ProductService) applicationContext.getBean("productService");
productService.save();
}
}