读书人

spring学习范例之装手动装配自动装配

发布时间: 2012-08-21 13:00:22 作者: rapoo

spring学习实例之装手动装配自动装配
来学习下装配相关:
手动装配:手动的将bean中所关联的其他bean装配进去。使用以下方法:
<property><ref bean=""></property>
自动装配:使用autowire关键字声明bean的自动装配方式。其可选值为byName、byType、constructor等。

包结构:


源代码:
ItemDao.java

package dao;public interface ItemDao {void update();}

ItemDaoImpl.java
package dao;public class ItemDaoImpl implements ItemDao{public void update(){System.out.println("update item .");}}


OrderDao.java
package dao;public interface OrderDao {void save();}

OrderDaoImpl.java
package dao;public class OrderDaoImpl implements OrderDao{public void save(){System.out.println("save order .");}}


StoreService.java
package service;public interface StoreService {void submitOrder();}

StoreServiceImpl.java
package service;import dao.ItemDao;import dao.OrderDao;public class StoreServiceImpl implements StoreService {public ItemDao itemDao;public OrderDao orderDao;public void setItemDao(ItemDao itemDao) {this.itemDao = itemDao;}public void setOrderDao(OrderDao orderDao) {this.orderDao = orderDao;}public void submitOrder() {orderDao.save();itemDao.update();}}


手动装配配置文件:
<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><bean id="orderDao" name="code"><?xml version="1.0" encoding="UTF-8"?><beans default-autowire="byType"xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"><bean autowire="byName"></bean><bean autowire="byName"></bean>这行则指明了该bean的自动中配为byName(根据名字)。

测试类Test.java
package test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import service.StoreService;public class Test {public static void main(String[]args){//加载手动装配配置文件ApplicationContext ac=new ClassPathXmlApplicationContext("ApplicationContext.xml");StoreService storeService=(StoreService)ac.getBean("storeService");storeService.submitOrder();//加载自动装配配置文件ApplicationContext ac_autowire=new ClassPathXmlApplicationContext("ApplicationContext_autowire.xml");StoreService storeService_autowire=(StoreService)ac.getBean("storeService");storeService_autowire.submitOrder();}}

读书人网 >软件架构设计

热点推荐