来学习下装配相关:
手动装配:手动的将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
分享到:
相关推荐
3. **constructor**:构造函数级别的自动装配,Spring会在bean实例化时,通过匹配参数类型的构造函数来注入依赖。 4. **property**:属性级别的自动装配,Spring会在setter方法上进行依赖注入。 5. **autodetect**...
本项目提供了使用Spring实现自动装配的实例,初学者可以通过分析代码,实践运行,观察不同装配方式的效果,加深对Spring DI的理解。通过这种方式,不仅可以提升编程技能,还能提高解决问题的能力,为未来更复杂的...
Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而Spring的自动装配(Auto-Wiring)则是DI的一种实现方式。本篇文章将深入探讨Spring自动装配的...
在压缩包文件名称“spring_0700_IOC_Autowire”中,“IOC”代表“Inversion of Control”,即控制反转,它是Spring的核心概念之一,自动装配是IOC的一种实现方式。这个文件可能包含了关于Spring自动装配的教程材料,...
自动装配是Spring框架的核心特性之一,它允许框架自动管理对象之间的依赖关系,无需在代码中显式地创建或查找依赖对象。Spring提供了多种自动装配方式,如byType、byName等,可以根据配置或注解来实现。在项目中,...
在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入的方式,它允许Spring容器自动为bean找到并设置其依赖。本篇文章将深入探讨两种主要的自动装配方式:byName和byType,以及它们在实际应用中的实例。 **1...
在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,DI)配置的方式,它允许Spring容器自动管理Bean之间的依赖关系。本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现...
在Spring框架中,类型(Type)自动装配是一种自动配置机制,它允许我们通过类型匹配来注入依赖。这种机制简化了代码,减少了手动设置bean依赖的工作量。本文将深入解析Spring如何实现类型自动装配的源码。 首先,让...
在Spring实例代码中,我们可能还会看到Spring与这些技术的整合,如使用Spring Boot启动应用,配合MyBatis进行数据访问,以及使用AngularJS构建前端交互。 总的来说,"springframework实例代码"将涵盖Spring框架的...
在Spring框架中,`@Autowired`注解是用于自动装配bean的一种方式,它可以根据类型匹配找到合适的bean进行注入。然而,当存在多个相同类型的bean时,Spring可能无法确定应该注入哪一个。这时,`@Qualifier`注解就派上...
而注解自动装配(Autowired)是Spring IoC容器的一种高级特性,它允许我们通过注解来声明对象之间的依赖,无需手动编写XML配置。现在,我们将深入探讨如何模拟Spring的IoC容器实现注解自动装配。 首先,我们需要...
在Spring框架中,Bean装配是核心功能之一,它负责初始化、配置和管理应用程序中的对象。本文将深入探讨Spring装配Bean的实例代码,帮助你更好地理解这一关键概念。 首先,Spring装配Bean主要有两种方式:XML配置和...
在Spring框架中,自动装配(Auto-Wiring)是一种简化配置的方式,它允许Spring容器自动为Bean提供依赖。这种特性使得开发者无需显式地在XML配置文件中声明Bean之间的依赖关系,从而减少了配置工作量,提高了代码的可...
自动装配就是开发人员不必知道具体要装配哪个bean的引用,这个识别的工作会由spring来完成。与自动装配配合的还有“自动检测”,这 个动作会自动识别哪些类需要被配置成bean,进而来进行装配。这样我们就明白了,...
Spring装配bean方法实例总结是对Spring框架中bean装配机制的总结,包括XML配置、自动装配和Java配置等多种方式。通过学习和掌握这些知识点,可以更好地使用Spring框架进行开发。 五、实践经验 在实践中,我们可以...
Spring 自动装配的二义性实例解析 Spring 框架中的自动装配机制是通过 @Autowired ...本文通过示例代码详细介绍了 Spring 自动装配的二义性实例解析问题,并提供了解决该问题的方法,对大家的学习和工作具有参考价值。
本文主要围绕"Spring源码学习七:web应用自动装配Spring配置文件1"这一主题,详细解析Web环境中Spring的初始化过程。 首先,我们注意到在传统的Java应用程序中,通常使用`ClassPathXmlApplicationContext`手动创建...
在Spring Boot中,尽管自动化配置十分便捷,但仍然可以通过@Primary、@Qualifier、@Resource等注解来手动装配依赖。 总结来说,Spring框架的依赖注入和Bean装配是面试中的热点问题,掌握它们对于每一个Spring开发者...
在Spring Boot应用中,自动装配(Auto Configuration)是框架的核心特性之一,它使得开发者无需编写大量繁琐的配置代码,即可让应用中的各种组件自动协同工作。本教程将深入讲解如何手动实现Spring Boot的自动装配类...