Spring的IOC的xml和註解

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章