`
xxp3369
  • 浏览: 151300 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

根据名称自动装配

阅读更多
applicationContext-beans.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:aop="http://www.springframework.org/schema/aop"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
           default-autowire="byName"
           >

<!--
<bean id="bean2" class="com.bjsxt.spring.Bean2">
<property name="bean3" ref="bean3"/>
<property name="bean4">
<ref bean="bean4"/>
</property>
<property name="bean5" ref="bean5"/>
</bean>
-->

<bean id="bean2" class="com.bjsxt.spring.Bean2"/>

<bean id="bean5" class="com.bjsxt.spring.Bean5">
<property name="age" value="20"/>
</bean>
</beans>


applicationContext-other.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:aop="http://www.springframework.org/schema/aop"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
  
   <bean id="beanAbstract" abstract="true">
   <property name="id" value="1000"/>
   <property name="name" value="Jack"/>
   </bean>        
  
   <bean id="bean3" class="com.bjsxt.spring.Bean3" parent="beanAbstract">
   <property name="name" value="Tom"/>
   <property name="password" value="123"/>
   </bean>       
  
   <bean id="bean4" class="com.bjsxt.spring.Bean4" parent="beanAbstract"/>
</beans>


AutowireTest.java

package com.bjsxt.spring;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import junit.framework.TestCase;

public class AutowireTest extends TestCase {
	
	private BeanFactory factory;
	
	@Override
	protected void setUp() throws Exception {
		factory = new ClassPathXmlApplicationContext("applicationContext-*.xml");	
	}

	public void testAutowire() {
		Bean2 bean2 = (Bean2)factory.getBean("bean2");
		System.out.println("bean2.bean3.id=" + bean2.getBean3().getId());
		System.out.println("bean2.bean3.name=" + bean2.getBean3().getName());
		System.out.println("bean2.bean3.password=" + bean2.getBean3().getPassword());
		System.out.println("bean2.bean4.id=" + bean2.getBean4().getId());
		System.out.println("bean2.bean4.name=" + bean2.getBean4().getName());
		System.out.println("bean2.bean5.age=" + bean2.getBean5().getAge());
	}
	
}
分享到:
评论

相关推荐

    Spring实现自动装配

    然而,自动装配简化了这个过程,Spring容器会尝试根据类型或名称自动找到合适的依赖并注入到bean中。 在Spring 4中,自动装配主要有以下几种方式: 1. **无注解自动装配(No Annotation Auto-Wiring)**:在XML...

    第四章示例代码__自动装配

    在本节中,我们将深入探讨“自动装配”这一核心概念,特别是在编程领域,尤其是与软件开发框架相关的应用。自动装配是依赖注入(Dependency Injection,DI)的一种实现方式,它简化了对象之间的关联设置,使代码更加...

    spring学习之四“自动装配”

    通过自动装配,Spring容器能够根据bean的类型或者名称自动查找并注入相应的依赖,从而减少XML配置文件的繁琐工作。 一、自动装配类型 1. **byName**:基于bean的名称进行自动装配。当Spring容器在bean的属性上发现@...

    spring自动装配

    在压缩包文件名称“spring_0700_IOC_Autowire”中,“IOC”代表“Inversion of Control”,即控制反转,它是Spring的核心概念之一,自动装配是IOC的一种实现方式。这个文件可能包含了关于Spring自动装配的教程材料,...

    4Spring自动装配——annotation resource方式

    如果找不到匹配的名称,但找到了类型匹配的Bean,Spring会默认使用类型匹配进行自动装配。 ### 三、`@Qualifier`辅助注解 当一个类型有多个实例时,`@Autowired`可能会出现歧义,这时可以结合`@Qualifier`注解来...

    UG二次开发的自动装配技术

    在系统加载部件时,可以根据数据库中的装配信息,实现组件的自动装配。这将大大提高设计效率和产品质量。 本文档提供了一些常用的函数源码,对于 UG 二次开发的自动装配技术有着重要的参考价值。 在 UG 环境中,...

    springBoot自动装配原理以及starter技术.pdf

    在Spring Boot中,自动装配是其核心特性之一,它极大地简化了配置,使得开发者能够快速构建应用程序。本文将深入解析Spring Boot自动装配的原理,并探讨starter技术。 首先,我们来看`@Import`注解,它是Spring框架...

    Java注解机制之Spring自动装配实现原理详解

    其中,byName是指根据Bean对象的名称来进行自动装配,byType是指根据Bean对象的类型来进行自动装配,constructor是指使用构造方法来进行自动装配,autodetect是指自动选择byType或constructor的自动装配方式,no是指...

    Spring 自动装配及其注解

    在Spring框架中,自动装配(Autowiring)是一种机制,它允许Spring容器自动为bean提供其依赖,而无需显式配置。自动装配极大地简化了应用的配置,使得开发者可以更专注于业务逻辑。本文将深入探讨Spring自动装配的...

    遍历装配体自动图名分离宏

    3. **执行宏**:选择装配体文件,运行宏,程序会自动处理装配体中的每个零部件,更新视图名称。 4. **检查结果**:完成后,用户需要检查工程图,确保图名分离正确无误。 值得注意的是,尽管宏能大大提高效率,但...

    pring自动装配方式介绍共2页.pdf.zip

    在Spring框架中,自动装配(Auto Wiring)是一种简化依赖注入(Dependency Injection,简称DI)的方式,它可以帮助开发者减少显式...在实际项目中,应根据具体情况选择合适的自动装配策略,以确保代码的清晰和健壮。

    java bean 与 Web Form表单如何实现自动装配

    【JavaBean与Web Form表单自动装配】是Web开发中常用的一种技术,特别是在使用像Struts2这样的MVC框架时,能够极大地简化数据绑定的过程。这个过程的核心是将用户在Web表单中填写的数据自动地映射到JavaBean对象的...

    AOP中的注解自动装配通知

    2. **@Resource**:此注解也用于自动装配,但它的主要区别在于,它首先尝试根据Bean的名称进行匹配,如果找不到,才会尝试根据类型匹配。这与@Autowired的优先级相反。 3. **@Component、@Service、@Repository和@...

    Spring的自动装配源代码

    在Spring框架中,自动装配(Auto-Wiring)是一种简化配置的方式,它允许Spring容器自动为Bean提供依赖。这种特性使得开发者无需显式地在XML配置文件中声明Bean之间的依赖关系,从而减少了配置工作量,提高了代码的可...

    Spring学习笔记

    1. 根据名称自动装配:Spring会查找匹配bean定义名称的依赖进行注入。 2. 根据类型自动装配:Spring会查找与所需类型匹配的bean,如果有多个,可以通过设置`@Qualifier`注解指定特定的bean。 五、Injection(依赖...

    Spring自动装配模式表

    当设置自动装配模式为`byName`时,Spring容器会尝试根据Bean的属性名称来查找具有相同ID或name的其他Bean,并将其作为依赖注入到当前Bean中。这种方式适用于属性名称和依赖Bean的ID或name一致的情况。 **优点**: -...

    使用注解自动装配需要组件扫描.zip

    在Spring框架中,注解自动装配(Annotation-based Autowiring)是一种简化依赖注入(Dependency Injection,简称DI)的方式,它允许开发者用注解来声明类的依赖,而无需使用XML配置文件。本教程将深入讲解如何使用...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    在Spring框架中,`Autowired`是自动装配bean的重要机制,它极大地简化了依赖注入的过程。本篇文章将深入探讨XML版本、注解版本的`Autowired`以及相关源码解析。 首先,我们来理解`Autowired`的基本概念。在Spring...

    ProE装配(Assembly)设计教程之自动装配.pdf

    《ProE装配(Assembly)设计教程之自动装配》是一份针对ProE软件装配设计的教程,专注于自动装配优化技术。该教程旨在帮助那些频繁进行装配设计或者需要一次性装配大量零件的工程师提高工作效率。自动装配在这里并非指...

Global site tag (gtag.js) - Google Analytics