`

spring 依赖注入的几种类型<一>

 
阅读更多
  spring 依赖注入:
关于ioc依赖注入方式,解决了在java程序中使用new 方式来产生对象,实现了解耦。
下面将结合代码 实现类对应属性与配置文件的映射,对于list,map,等属性映射做了测试。

下面bean 代码只下了属性,构造函数以及set,get 方法省略
public class StudentBean {

	private int id;
	private String name; 
	private BoxBean box; // 对象类型映射
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}

 // 类 pencilBean 


通过属性依赖注入方式:

 <bean id ="stud1" class="com.xxg.bean.StudentBean">
  <property name="id" value ="1"></property>
  <property name="name" value ="xxg"></property>
  [color=red]<property name="box" ref ="box1"></property>[/color]
</bean>

其中划红线的属性为一个对象,这个对象在对应生成的配置文件为:
<bean id ="box1" class ="com.xxg.bean.BoxBean">
   <property name ="color" value="红色"></property>
   <property name ="name" value ="飞哥书包"></property>
   <property name ="pencils"> 
       <list>   
         <ref bean="pencil1"></ref>   <!--list里面装的是引用类型用   <ref bean="pencil1"> </ref>  pencil1 为一个对象 形式 -->
         <ref bean="pencil2"></ref>
         <ref bean="pencil3"></ref>
       </list>
     <!-- 
     
               如果list 里面装的是基本数据类型 
               则 用value设置   
     -->
      <list>
 			<value>aaaaaaaaa</value>
 			<value>bbbbbbbbb</value>
 		</list> 
      
       
   </property>
  
</bean>


public class PencilBean {
	
  private String type;
  private String name;
  private Map<String, String> map;
public Map<String, String> getMap() {
	return map;
}

配置文件如下:
注意关于map的配置

<bean id ="pencil1" class ="com.xxg.bean.PencilBean">   <!-- 相当于  PencilBean penclil1 = new PencilBeran()  -->
   <property name ="type" value="a1"></property>         <!--penclil1.setType("a1")  -->
   <property name ="name" value="美丽牌"></property>      <!--penclil1.setName("美丽牌")  -->

<property name ="map">
       <map >
         <entry>
            <key >
             <value>no1</value>  <!--Map key 的值  -->
            </key>  
           <value>声声道铅笔</value>  <!-- 该key 对应的值 -->
         </entry>
  
          <entry>
            <key >
             <value>no2</value>
            </key>  
           <value>二位keguan</value>
         </entry>
       </map> 
   </property>
 </bean>



通过构造函数依赖注入 SutentBean对象

<bean id ="stud2" class ="com.xxg.bean.StudentBean">
<constructor-arg type="int" value="2"></constructor-arg> <!--是int 类型但不能写成java.lang.Integer  -->
<constructor-arg type="java.lang.String" value ="yml"></constructor-arg>
<constructor-arg type ="com.xxg.bean.BoxBean" ref="box1"></constructor-arg>
</bean>


总结:关于依赖注入的配置文件 注意2点就Ok:
1.里面括号ref总共 在2个地方用到,一个是在映射属性为list类型且里面装的东西为对象或者引用类型 此时,用法为<ref bean ="指向对象的引用(也可以理解为该类产生的对象)简单理解为bean 的id值"></ref>

2.在当映射属性为对象类型时,此时ref用法为<property name="属性名" ref ="该属性对象类型的id值"></property


0
1
分享到:
评论

相关推荐

    spring学习:依赖注入的几种方式讨论

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...

    开源框架 Spring Gossip

    &lt;br&gt;从代理机制初探 AOP &lt;br&gt;动态代理&lt;br&gt;&lt;br&gt;AOP 观念与术语 &lt;br&gt;Spring AOP &lt;br&gt;Advices &lt;br&gt;Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。&lt;br&gt;Before ...

    spring依赖注入的几种方式

    Spring 依赖注入的几种方式 依赖注入(Dependency Injection,简称 DI)是一种设计模式,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。在 Spring 框架中,依赖注入是通过 IoC 容器来实现...

    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    - **控制反转(IoC)**:通过依赖注入(Dependency Injection)实现,即对象间的依赖关系由容器动态注入,而不是通过对象主动去创建依赖对象。这种方式降低了组件之间的耦合度,使对象更加符合单一职责原则,提高了...

    Spring学习笔记(6)----编码剖析Spring依赖注入的原理

    总结一下,Spring依赖注入的原理主要包括以下几点: 1. 通过构造器或setter方法实现组件间的依赖关系。 2. 使用`@Autowired`注解自动匹配和注入依赖。 3. Bean工厂和ApplicationContext管理bean生命周期,Bean...

    关于spring boot中几种注入方法的一些个人看法

    Spring Boot 中的几种注入方法 在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的...

    Spring+SpringMVC+MyBatis整合教程

    Spring 的 IoC 容器负责管理对象的生命周期和配置,通过依赖注入的方式实现对象间的关联。 - **面向切面编程 (AOP)**:AOP 是一种编程范式,用于实现横切关注点的模块化。Spring 提供了一个强大的 AOP 平台,允许...

    Spring三种注入方式(三)

    除了以上三种方式,Spring还提供了基于注解的元数据注入,如`@Resource`、`@Qualifier`等,以及XML配置文件中的`&lt;bean&gt;`标签等方式进行依赖注入。在实际开发中,可以根据需求选择合适的方式,通常推荐使用构造器注入...

    Spring Ioc 注解 依赖注入

    下面介绍几种常用的依赖注入相关的注解: - **@Component**:用于标记一个普通的Java类为Spring管理的Bean。 - **@Service**:通常用于标记业务层的组件。 - **@Repository**:用于标记数据访问层(DAO层)的组件。...

    spring集成Hessian插件配置改成自动注入。

    Spring依赖注入(Dependency Injection, DI)是其核心特性之一,它允许外部容器控制对象的生命周期和装配,而不是由对象自己来管理。通过自动注入,我们可以避免硬编码依赖,提高代码的可测试性和可维护性。 集成...

    springDay1

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。本篇将详细讲解标题"springDay1"所涵盖的几个核心知识点:Spring的...

    是tuscany与spring,axis整合所有的jar包,已解决冲突问题。

    为了解决这个问题,可以采取以下几种策略: 1. **版本一致性**:确保所有依赖的jar包版本尽可能一致。例如,在Maven这样的构建工具中,可以通过设置依赖范围或者使用dependency:tree命令来检查并调整依赖树。 2. **...

    Java实训教程 Java软件开发实战 Java开发框架介绍 spring 共88页.pptx

    - **IoC(依赖注入)**:Spring的核心特性之一就是IoC容器,通过它可以实现对象之间的解耦。 #### Spring IoC IoC即Inversion of Control,中文名为“控制反转”,是一种设计思想。在Spring框架中,IoC通常是指...

    Spring相关测试1

    Bean注入的细节主要包括以下几种方式: - **字面值注入**:通过`&lt;property&gt;`标签的`value`属性注入基本类型的值或字符串。 - **引用其他bean**:使用`&lt;ref&gt;`标签引用其他Bean,如上述XML配置示例所示。 - **内部...

    spring jersey整合后无法注入

    当Spring与Jersey整合时,我们通常会遇到以下几种常见问题: 1. **未正确配置Spring上下文**:确保在你的项目中包含Spring的上下文配置文件,如`applicationContext.xml`,并且在这个配置文件中声明了你需要注入的...

    Spring 依赖注入的几种方式详解

    Spring框架的依赖注入(Dependency Injection,简称DI)是一种设计模式,它允许外部容器(如Spring框架)来管理对象的生命周期和装配,而不是由对象自己来管理。这种模式可以提高代码的可测试性和可维护性,因为对象...

    SSM的搭建

    1. **Spring**:这是一个全面的Java企业级应用开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等核心功能。在SSM中,Spring主要负责管理应用程序中的bean,以及事务控制。 2. **SpringMVC**:是Spring框架的...

    tedu二阶段Spring课堂随手

    - **DI (Dependency Injection)**: 依赖注入是 IoC 的一种实现方式,它允许将对象的依赖关系外部化,从而使得对象更加灵活和易于测试。 - **Bean 管理**: 可以使用 XML 文件或注解来定义 Bean 的配置信息。 #### 5....

    自己的代码模拟spring的依赖注入

    依赖注入是一种设计模式,它允许我们解耦组件,提高代码的可测试性和可维护性。Spring框架通过IoC容器来实现DI,让我们无需手动创建对象,而是由框架来管理这些对象及其依赖关系。现在,我们将深入探讨如何通过自己...

Global site tag (gtag.js) - Google Analytics