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();
}
}