来学习下装配相关:
手动装配:手动的将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"?>
<beans
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 id="orderDao" class="dao.OrderDaoImpl"></bean>
<bean id="itemDao" class="dao.ItemDaoImpl"></bean>
<bean id="storeService" class="service.StoreServiceImpl">
<property name="orderDao">
<ref bean="orderDao"/>
</property>
<property name="itemDao">
<ref bean="itemDao"/>
</property>
</bean>
</beans>
自动装配配置文件:
<?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 class="dao.OrderDaoImpl" autowire="byName"></bean>
<bean class="dao.ItemDaoImpl"></bean>
<bean id="storeService" class="service.StoreServiceImpl"></bean>
</beans>
以上配置文件中default-autowire="byType"指明默认装配形式为byType(根据类型)。
在具体的bean中也可以单独定制自动装配方式。<bean class="dao.OrderDaoImpl" 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();
}
}
- 大小: 8.6 KB
分享到:
相关推荐
spring中的自动装配实例byName、byType,两种装配方式的实例。有需要学习的朋友可以看一下。
自动装配就是开发人员不必知道具体要装配哪个bean的引用,这个识别的工作会由spring来完成。与自动装配配合的还有“自动检测”,这 个动作会自动识别哪些类需要被配置成bean,进而来进行装配。这样我们就明白了,...
博客地址:https://blog.csdn.net/u010476739/article/details/76732201 spring装配bean的方式实例
自己实现的简易的模拟Spring的IoC容器,实现注解自动装配
主要介绍了spring装配bean方法实例总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Spring 自动装配的二义性实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了JSP Spring 自动化装配Bean实例详解的相关资料,需要的朋友可以参考下
spring2.5学习PPT 传智博客 01_全面阐释Spring及其各项功能 02_搭建与测试Spring的开发环境 03_编码剖析Spring管理Bean的原理 04_Spring的三种实例化Bean的方式 05_配置Spring管理的bean的作用域 06_Spring...
Spring介绍 1. Spring 2. 使用spring的主要目的 3. Spring的模块 Ejb容器(以前是) ...10. 自动装配(不建议使用) 11. 依赖检查 12. 定义IoC容器管理的javabean的生命周期回调方法 13. 接口FactoryBean的使用
基于Java类的配置方法和基于XML或基于注解的配置方式相比,前者通过代码的方式更加灵活地实现Bean的实例化及Bean之间的装配,但后面两者都是通过配置声明的方式,在灵活性上要稍逊一些,但是配置上要更简单一些。
主要给大家介绍了关于spring装配bean的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要介绍了Spring与Struts整合之使用自动装配操作,结合实例形式详细分析了Spring与Struts整合使用自动装配具体操作步骤与相关实现技巧,需要的朋友可以参考下
本篇文章主要介绍了详解Spring框架---IOC装配Bean,提供了三种方式实例化Bean,具有一定的参考价值,有兴趣的可以了解一下。
主要介绍了Springboot自动装配实现过程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
八、 自动装配autowire 13 (一) byName 13 (二) byType 14 (三) 注意 14 九、 生命周期 15 (一) lazy-init/default-lazy-init 15 (二) init-method destroy-method 不要和prototype一起用(了解) 15 第六课:...
Spring学习 介绍 Spring轻松学习demo 1.弹簧IOC容器 1.弹簧注入方式 set方法注入 构造方法注入 2.Bean的装配 1.豆的作用域 单例单例获取 原型每次请求都创建实例 2.豆的生命周期 定义,初始化,使用,销毁 待补充......
spring源码底层分析(1.81G)〖课程介绍〗:Spring启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供...
目的:Spring容器已经成功获取了UserController实例,并通过调用实例中的方法执行了各层中的输出语句。 运行结果为: User [id=1, name=张三, password=123] userDao say hello world! UserService say hello world ...