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
分享到:
相关推荐
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本文将深入探讨Spring中的依赖注入实现方式,以及如何通过样例文件...
<br>从代理机制初探 AOP <br>动态代理<br><br>AOP 观念与术语 <br>Spring AOP <br>Advices <br>Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。<br>Before ...
Spring 依赖注入的几种方式 依赖注入(Dependency Injection,简称 DI)是一种设计模式,它可以将对象之间的耦合关系降到最低,从而提高系统的灵活性和可维护性。在 Spring 框架中,依赖注入是通过 IoC 容器来实现...
- **控制反转(IoC)**:通过依赖注入(Dependency Injection)实现,即对象间的依赖关系由容器动态注入,而不是通过对象主动去创建依赖对象。这种方式降低了组件之间的耦合度,使对象更加符合单一职责原则,提高了...
总结一下,Spring依赖注入的原理主要包括以下几点: 1. 通过构造器或setter方法实现组件间的依赖关系。 2. 使用`@Autowired`注解自动匹配和注入依赖。 3. Bean工厂和ApplicationContext管理bean生命周期,Bean...
Spring Boot 中的几种注入方法 在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的...
Spring 的 IoC 容器负责管理对象的生命周期和配置,通过依赖注入的方式实现对象间的关联。 - **面向切面编程 (AOP)**:AOP 是一种编程范式,用于实现横切关注点的模块化。Spring 提供了一个强大的 AOP 平台,允许...
除了以上三种方式,Spring还提供了基于注解的元数据注入,如`@Resource`、`@Qualifier`等,以及XML配置文件中的`<bean>`标签等方式进行依赖注入。在实际开发中,可以根据需求选择合适的方式,通常推荐使用构造器注入...
下面介绍几种常用的依赖注入相关的注解: - **@Component**:用于标记一个普通的Java类为Spring管理的Bean。 - **@Service**:通常用于标记业务层的组件。 - **@Repository**:用于标记数据访问层(DAO层)的组件。...
Spring依赖注入(Dependency Injection, DI)是其核心特性之一,它允许外部容器控制对象的生命周期和装配,而不是由对象自己来管理。通过自动注入,我们可以避免硬编码依赖,提高代码的可测试性和可维护性。 集成...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得组件之间的耦合度降低,提高了代码的可测试性和可维护性。本篇将详细讲解标题"springDay1"所涵盖的几个核心知识点:Spring的...
为了解决这个问题,可以采取以下几种策略: 1. **版本一致性**:确保所有依赖的jar包版本尽可能一致。例如,在Maven这样的构建工具中,可以通过设置依赖范围或者使用dependency:tree命令来检查并调整依赖树。 2. **...
- **IoC(依赖注入)**:Spring的核心特性之一就是IoC容器,通过它可以实现对象之间的解耦。 #### Spring IoC IoC即Inversion of Control,中文名为“控制反转”,是一种设计思想。在Spring框架中,IoC通常是指...
Bean注入的细节主要包括以下几种方式: - **字面值注入**:通过`<property>`标签的`value`属性注入基本类型的值或字符串。 - **引用其他bean**:使用`<ref>`标签引用其他Bean,如上述XML配置示例所示。 - **内部...
当Spring与Jersey整合时,我们通常会遇到以下几种常见问题: 1. **未正确配置Spring上下文**:确保在你的项目中包含Spring的上下文配置文件,如`applicationContext.xml`,并且在这个配置文件中声明了你需要注入的...
Spring框架的依赖注入(Dependency Injection,简称DI)是一种设计模式,它允许外部容器(如Spring框架)来管理对象的生命周期和装配,而不是由对象自己来管理。这种模式可以提高代码的可测试性和可维护性,因为对象...
1. **Spring**:这是一个全面的Java企业级应用开发框架,提供了依赖注入(DI)和面向切面编程(AOP)等核心功能。在SSM中,Spring主要负责管理应用程序中的bean,以及事务控制。 2. **SpringMVC**:是Spring框架的...
- **DI (Dependency Injection)**: 依赖注入是 IoC 的一种实现方式,它允许将对象的依赖关系外部化,从而使得对象更加灵活和易于测试。 - **Bean 管理**: 可以使用 XML 文件或注解来定义 Bean 的配置信息。 #### 5....
依赖注入是一种设计模式,它允许我们解耦组件,提高代码的可测试性和可维护性。Spring框架通过IoC容器来实现DI,让我们无需手动创建对象,而是由框架来管理这些对象及其依赖关系。现在,我们将深入探讨如何通过自己...