`
Longmanfei
  • 浏览: 48074 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 自动装配之不得不"懒"(一)

阅读更多

这次我们来介绍spring的另一种自动装配方式byName,首先我们单独的看它应该跟名字有什么直接或者间接的联系。为了例证我们的推断,我们当然要看其定义了。

1. byName:在容器中寻找和需要自动装配的属性名相同的Bean(ID),如果没有找到相符的Bean,该属性就没有被装配上。

大概就是我们的理解根据属性的名字到xml中寻找相应的bean,那么在具体实现中我们应该怎样去实现总动封装呢

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"

 >

<!--根据id检索-->

<bean id="greetingDaoImpl" 

class="cn.csdn.dao.GreetingDaoImpl" scope="singleton">

<property name="say">

<value>Longmanfei</value>

</property>

</bean>

<bean id="greetingServiceImpl"

class="cn.csdn.service.GreetingServiceImpl"

scope="singleton" autowire="byName"/>

</beans>

//GreetingDaoImpl

public class GreetingDaoImpl implements GreetingDao {

    private String say;

public void say() {

System.out.println("我打了这个招呼"+say);

}

public void setSay(String say) {

this.say = say;

}

    

}

//GreetingServiceImpl

public class GreetingServiceImpl implements GreetingService{

    private GreetingDaoImpl greetingDaoImpl;//注意属性名称和xml里的id

public void say() {

greetingDaoImpl.say();

}

public void setGreetingDaoImpl(GreetingDaoImpl gdi) {

System.out.println("我调用了set方法");

this.greetingDaoImpl = gdi;

}




public GreetingServiceImpl() {

super();

System.out.println("我调用了空的构造器");

}


public GreetingServiceImpl(GreetingDaoImpl greetingDaoImpl) {

super();

System.out.println("我调用了有参的构造器");

this.greetingDaoImpl = greetingDaoImpl;

}




    

}

//junit测试

 @Test

   public void test1(){

   /*加载spring容器可以解析多个配置文件采用数组方式传递*/

   ApplicationContext

   ac=New ClassPathXmlApplicationContext("classpath:LongmanfeibyName.xml");

   //直接转换成接口便于日后修改数据/*Ioc控制反转体现*/

   GreetingService

      gs=(GreetingService) ac.getBean("greetingServiceImpl");

      gs.say();

   

      }

 

<!--EndFragment-->
2
6
分享到:
评论

相关推荐

    Spring实现自动装配

    Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(Dependency Injection,简称DI)特性而闻名,其中自动装配(Auto-Wiring)是DI的一种实现方式。自动装配允许开发者减少手动配置bean之间的依赖关系...

    Spring自动装配解析

    Spring框架是Java开发中广泛应用的一个轻量级容器,它的核心特性之一就是依赖注入(Dependency Injection,简称DI),而Spring的自动装配(Auto-Wiring)则是DI的一种实现方式。本篇文章将深入探讨Spring自动装配的...

    spring自动装配例子

    ean的自动装配,有4种 (1)no:不做任何操作 (2)byName:根据属性 名 自动装配,设值注入 &lt;bean id="xxx" class="xxx" &gt;&lt;/bean&gt; (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 ...

    spring自动装配

    标题中的“Spring自动装配”指的是Spring框架中的一个重要特性,它允许开发者在不显式配置Bean依赖的情况下,由Spring容器自动管理Bean之间的依赖关系。这一特性极大地简化了代码,提高了可维护性和可测试性。 在...

    spring自动装配项目struts2

    自动装配是Spring框架的核心特性之一,它允许框架自动管理对象之间的依赖关系,无需在代码中显式地创建或查找依赖对象。Spring提供了多种自动装配方式,如byType、byName等,可以根据配置或注解来实现。在项目中,...

    spring的自动装配

    spring的自动装配

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

    byType是指根据Bean对象的类型来进行自动装配,constructor是指使用构造方法来进行自动装配,autodetect是指自动选择byType或constructor的自动装配方式,no是指不支持自动装配功能,default是指默认采用上一级标签...

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

    在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入(Dependency Injection,DI)配置的方式,它允许Spring容器自动管理Bean之间的依赖关系。本文将深入探讨如何通过注解(Annotation)和`@Resource`来实现...

    Spring 自动装配及其注解

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

    Spring中的自动装配有哪些限制?.docx

    在Spring框架中,自动装配(Auto-Wiring)是一种便捷的方式来管理bean之间的依赖关系,它能够自动将所需的bean注入到目标bean中,而无需显式配置。然而,自动装配并非适用于所有场景,它存在一些限制。以下是一些...

    spring学习之四“自动装配”

    在Spring框架中,“自动装配”(Autowiring)是一项核心特性,它允许Spring容器自动为bean注入所需的依赖,而无需显式配置。本篇将深入探讨自动装配的概念、类型以及如何在Spring应用中使用。 自动装配是Spring IoC...

    Spring自动装配的方式

    Spring自动装配的方式和举例、以及@Qualifier、@Autowire、@Resource的使用。

    Spring自动装配模式表

    在Spring框架中,自动装配是一种非常实用的功能,可以简化Bean的依赖注入过程。Spring提供了多种自动装配模式,每种模式都有其适用场景。本文将详细介绍Spring框架中的五种自动装配模式:`no`、`byName`、`byType`、...

    Spring的自动装配源代码

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

    Spring自动装配@Qualifier实例

    在Spring框架中,`@Autowired`注解是用于自动装配bean的一种方式,它可以根据类型匹配找到合适的bean进行注入。然而,当存在多个相同类型的bean时,Spring可能无法确定应该注入哪一个。这时,`@Qualifier`注解就派上...

    第五章 Spring4 自动装配、方法注入

    在本章中,我们将深入探讨Spring框架的核心特性之一——自动装配和方法注入。Spring作为一款广泛应用的Java企业级开发框架,极大地简化了依赖管理,提高了代码的可测试性和可维护性。自动装配和方法注入是Spring实现...

    Spring 自动装配的二义性实例解析

    当有多个 Bean 匹配同一个结果时,Spring 就不知道选择哪个实现类来装配,从而导致自动装配失败。 例如,在一个 sweet 接口中,存在多个实现类,如 Cookies 和 Cake。当使用 @Autowired 将sweet 接口注入到构造参数...

    Spring_集合(List_Map_Set)_自动装配

    在Spring框架中,集合(List, Map, Set)的自动装配是一项重要的功能,它极大地简化了对象之间的依赖关系处理。本文将深入探讨如何在Spring中对List、Map和Set类型的集合进行自动装配,以及这一特性对初学者的意义。 ...

    spring中的自动装配实例byName、byType

    在Spring框架中,自动装配(Auto-Wiring)是一种简化依赖注入的方式,它允许Spring容器自动为bean找到并设置其依赖。本篇文章将深入探讨两种主要的自动装配方式:byName和byType,以及它们在实际应用中的实例。 **1...

Global site tag (gtag.js) - Google Analytics