`
namezhou
  • 浏览: 158625 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring对象属性的注入

阅读更多

注入:为对象的属性赋值

1.基本数据类型的set注入

public class User {
 private int userid;
 private String username;
 private String password;
}

 
为此类添加getter和setter
配置文件:

<bean id="user" class="com.dowebber.inject.User">
 <property name="userid" value="1"></property>
 <property name="password" value="pass_word"></property>
 <property name="username" value="tom"></property>
</bean>

 
测试类:

User user = (User)context.getBean("user");

 2.基本数据类型的构造器注入(构造方法)
为User添加构造方法
 

public User(String username, String password) {
  super();
  this.username = username;
  this.password = password;
 }
 
 public User(int userid, String username, String password) {
  super();
  this.userid = userid;
  this.username = username;
  this.password = password;
 }

 配置文件

<bean id="user" class="com.dowebber.inject.User">
 <constructor-arg value="1"></constructor-arg>
 <constructor-arg value="tom"></constructor-arg>
 <constructor-arg value="pass_word"></constructor-arg>
</bean>

 多构造器时应该指定参数顺序和类型

<constructor-arg value="1" type="int" index="0"></constructor-arg>
<constructor-arg value="tom" type="String" index="1"></constructor-arg>

 特殊类型数据的注入

public class Student {
 private int id;
 private String name;
 private String [] favor;
 private Set set;
 private List list;
 private Map map;
 private User user;
}

 添加setter 和getter

<!--数组的注入-->
 <property name="favor">
  <list>
   <value>上网</value>
   <value>足球</value>
  </list>
 </property>
<!--Set的注入-->
<property name="set">
  <set>
   <value>setvalue1</value>
   <value>setvalue2</value>
  </set>
</property>
<!--List的注入-->
 <property name="list">
  <list>
   <value>listvalue1</value>
   <value>listvalue2</value>
  </list>
 </property>
<!--Map的注入-->
 <property name="map">
  <map>
   <entry key="key1" value="value1"></entry>
   <entry key="key2" value="value2"></entry>
  </map>
 </property>

 
自定义类型对象的注入

<bean id="user" class="com.dowebber.inject.User">
 <constructor-arg value="1" type="int" index="0"></constructor-arg>
 <constructor-arg value="tom" type="String" index="1"></constructor-arg>
 <constructor-arg value="pass_word"></constructor-arg>
</bean>
 <property name="user" >
  <ref bean="user"/><!-- 也可以使用local="user" 不过这样的话,只能引用本配置文件中的Bean -->
 </property>

 

测试代码:

 public static void main(String[] args) {
  ApplicationContext context = new ClassPathXmlApplicationContext("com/dowebber/inject/spring.xml");
  
  Student std = (Student) context.getBean("student");
  
  System.out.println(std.getId());
  System.out.println(std.getName());
  System.out.println(std.getFavor().toString());
  System.out.println(std.getList());
  System.out.println(std.getSet());
  System.out.println(std.getMap());
  System.out.println(std.getUser());
 }

 

分享到:
评论

相关推荐

    spring 普通属性注入

    在Spring框架中,属性注入是核心特性之一,它允许我们通过依赖注入(Dependency Injection, DI)来管理对象的属性,而不是让对象自行创建或查找它们的依赖。这有助于提高代码的可测试性、可维护性和解耦性。下面将...

    spring工厂属性注入

    在Spring框架中,属性注入是一种核心特性,它允许开发者在不编写硬编码依赖关系的代码情况下,将对象的依赖从内部解耦出来。当我们遇到一些特殊的对象,如由工厂方法创建,而非简单地通过`new`关键字实例化时,...

    day38 11-Spring的Bean的属性的注入:对象属性

    在本篇内容中,我们将深入探讨Spring如何处理Bean的属性注入,包括对象属性的注入方式、相关注解以及最佳实践。 1. **属性注入的基本概念** - Spring通过依赖注入(Dependency Injection,简称DI)来管理Bean的...

    day38 17-Spring的Bean的属性注入:注解方式

    在Spring框架中,Bean的属性注入是核心功能之一,它允许开发者在不编写代码的情况下配置对象的依赖关系。本文将详细讲解使用注解方式进行Bean属性注入的方法,以及相关的源码和工具应用。 首先,让我们了解Spring中...

    spring各种属性的注入

    在Spring框架中,Bean的属性注入是实现依赖注入(Dependency Injection,DI)的重要方式之一。通过属性注入,可以将一个Bean的某些属性值或者引用其他Bean实例的值注入到当前Bean中。这种方式极大地提高了系统的灵活...

    Spring学习笔记(8)----属性注入的方式

    在Spring框架中,属性注入是将外部配置的属性值注入到Bean对象中,使得对象可以在运行时根据配置动态地获取其依赖的属性。本篇学习笔记主要探讨了Spring中的属性注入方式,包括了传统的XML配置注入、注解式注入以及...

    Spring属性注入

    在Spring中,属性注入(Property Injection)是一种重要的功能,它允许开发者在不直接创建对象的情况下设置对象的属性,从而实现了松耦合和更好的可测试性。 **XML方式的属性注入** 1. **Set注入**:这是Spring ...

    Spring Ioc(依赖注入)入门例子--属性注入

    属性注入是指Spring容器将一个对象的属性值设置为另一个对象的引用。这通常用于将服务对象注入到需要使用它们的客户端对象中。在Spring中,有两种主要的属性注入方式:setter方法注入和构造器注入。 1. Setter方法...

    Spring In Action 属性注入

    属性注入是Spring框架的核心特性之一,它通过容器来控制对象的创建和初始化,而不是由对象自己管理其依赖。Spring提供了两种主要的注入方式:设值注入(Setter Injection)和构造器注入(Constructor Injection)。...

    spring 设值注入

    在Spring框架中,设值注入(Value Injection)是一种将外部属性值注入到bean对象中的方法。它是通过在bean的配置元数据中定义属性值来实现的,这些值会在bean实例化时自动设置。设值注入是Spring依赖注入...

    day38 12-Spring的Bean的属性的注入:名称空间p

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们通过配置文件或注解来设置Bean实例的属性值,使得对象的初始化更加灵活。本文将深入探讨Spring中的"名称空间p",这是一种用于配置Bean属性注入的方式,...

    spring的注入方式

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象间的依赖关系得以解耦,提高了代码的可测试性和可维护性。Spring提供了多种注入方式,包括set注入、构造注入和自动注入...

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

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

    spring的setter注入和构造注入(XML讲解以及常见错误)

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇将详细讲解setter注入和构造注入这两种常见的DI方式,并结合...

    spring依赖注入底层详解

    1. 反射:Spring使用Java的反射API动态地查找和调用构造函数、setter方法等,实现对象的创建和属性设置。当容器遇到带有@Autowired注解的字段或方法时,会根据类型或名称找到合适的依赖,并通过反射进行注入。 2. ...

    day38 14-Spring的Bean的属性的注入:集合属性的注入

    在Spring框架中,Bean的属性注入是核心功能之一,它允许我们通过配置文件或注解来设置Bean的属性值,从而实现对象的依赖管理。在本主题“day38 14-Spring的Bean的属性的注入:集合属性的注入”中,我们将深入探讨...

    Spring三种注入方式(二)

    在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,着重讲解在"Spring三种注入...

    Spring的注入方式详解

    下面我们将详细探讨Spring 中的三种注入方式:接口依赖注入(Type1)、setter/getter 注入(Type2,也称为属性注入)和构造方法注入(Type3)。 1. **接口依赖注入(Type1)** 这种注入方式相对不常见,主要适用于...

    Spring 三种依赖注入方式.doc

    在 Spring 配置文件中,我们可以通过将 InterfaceB 接口的实例对象注入 ClassA 中,以实现依赖注入。 在 Spring 配置文件中,我们需要定义两个 Bean,分别是 ClassC 和 ClassA。在 ClassC 的定义中,我们可以设置 ...

    Spring学习笔记之二“属性注入”

    在Spring框架中,属性注入是核心特性之一,它允许我们为bean对象动态地设置属性值,无需在代码中使用new关键字实例化对象并手动设置属性。这种依赖注入(Dependency Injection,DI)的设计模式大大增强了软件的可...

Global site tag (gtag.js) - Google Analytics