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