`
libohan.life
  • 浏览: 3453 次
社区版块
存档分类
最新评论

Spring学习笔记(二)Bean配置

阅读更多
一、Spring 配置Bean
1.1 依赖注入有两种办法
  1. 属性注入(设值注入)
  2. 构造器注入
1.2 构造器注入的小示例
创建一个对象,并提供一些构造器,覆写一下toString方法:
package com.lbh.spring.beans;

public class Car {
private String brand;
private String corp;
private double price;
private int maxSpeed;
public Car(String brand, String corp, double price, int maxSpeed) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
this.maxSpeed = maxSpeed;
}
public Car(String brand, String corp, double price) {
super();
this.brand = brand;
this.corp = corp;
this.price = price;
}

@Override
public String toString() {

return "牌子:"+this.brand+"厂子:"+this.corp+"价格:"+this.price+"速度:"+this.maxSpeed;
}

}
 配置文件里面运用构造器注入配置如下:
<!-- 通过构造器方法来配置 bean 的属性 -->
<bean id="car" class="com.lbh.spring.beans.Car">
<constructor-arg value="宝马" index="0"></constructor-arg>
<constructor-arg value="武汉" index="1"></constructor-arg>
<constructor-arg value="1000" index="2"></constructor-arg>
<constructor-arg value="200" index="3"></constructor-arg>
</bean>
 经过实验,如果不加index,那么注入过程按照由上到下的属性顺序进行;如果加上index那么按照index标号来,但如果对象中并没有相应的构造器方法,那么输出会报错。除了根据index判断,还可以根据type判断。
使用构造器注入,可以通过指定参数位置和类型,以区分重载的构造器
注:当Bean唯一时,可以通过getBean(Car.class);的形式获得该Bean对象,如果不唯一,则只能通过getBean("helloworld")的形式获取。
如:配置两个Car的Bean,用 getBean(Car.class);会报出:
No qualifying bean of type 'com.lbh.spring.beans.Car' available: expected single matching bean but found 2: car,car2
 
car和car2两个Bean的值故意设置不同,打印后发现两个Bean分别调用了Car方法的两个构造器,输出了两个Bean的属性信息,如下:
 
0
0
分享到:
评论

相关推荐

    Spring学习笔记(精华全记录)

    ### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

    Spring学习笔记+学习源码.zip

    这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...

    尚学堂Spring学习笔记

    本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在MyEclipse中编写Spring配置...

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式配置每个Bean,而是通过指定包路径来让Spring自动发现和管理Bean。本文将深入探讨这个主题,帮助你更好地理解和应用这一功能。 首先,让...

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    spring学习笔记

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...

    Spring 学习笔记 spring帮助文档

    在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...

    Spring 学习笔记二

    在本篇"Spring 学习笔记二"中,我们将深入探讨Spring框架的核心概念和技术细节,以便更好地理解和使用这个广泛应用于企业级Java开发的框架。Spring以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-...

    SPRING学习笔记2

    Spring学习笔记2涵盖了Spring框架的核心概念和重要特性,旨在帮助开发者深入理解并熟练掌握Spring的使用。 1. **依赖注入(Dependency Injection, DI)**:这是Spring最核心的设计原则,它允许对象之间的依赖关系在...

    spring框架学习笔记

    此外,配置文件还可以用来定义内部bean,这些bean仅限于在当前配置文件内使用,外部无法直接访问。 在Spring容器中,bean的生命周期比传统JavaBean复杂得多。Spring不仅负责bean的实例化,还包括初始化、依赖注入、...

    Spring学习笔记之bean生命周期

    《Spring学习笔记之bean生命周期》 在Spring框架中,Bean是核心组件,它们构成了应用程序的主要结构。理解Spring Bean的生命周期对于有效地管理和优化Spring应用程序至关重要。本文将深入探讨Spring Bean的生命周期...

    Spring学习笔记.doc

    ### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...

    Spring学习笔记之bean的基础知识

    在Spring配置文件中,Bean是以`&lt;bean&gt;`标签的形式存在的。每个`&lt;bean&gt;`标签代表一个对象,其`id`属性用于唯一标识Bean,相当于对象的引用,而`class`属性则指定了Bean对应的具体Java类。例如: ```xml &lt;bean id=...

    马士兵老师spring框架学习笔记

    马士兵老师是知名的Java教育专家,他的Spring框架学习笔记深入浅出,对于初学者和进阶者来说都是一份宝贵的资源。这份笔记涵盖了Spring的核心概念、配置、AOP(面向切面编程)、DI(依赖注入)等关键知识点。 1. **...

    spring-boot学习笔记

    ### Spring Boot 学习笔记知识点总结 #### 一、Spring发展史 - **Spring1.x时代**:在Spring1.x的时代,主要通过XML文件来配置Bean。随着项目的规模扩大,XML配置文件的数量也随之增加,这导致开发人员需要频繁地...

    spring学习笔记(3.20)

    标题 "spring学习笔记(3.20)" 暗示我们即将探讨的是关于Spring框架的某个特定主题,可能涵盖版本3.20或基于该版本的学习内容。Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入、AOP(面向切面编程...

    Spring学习笔记

    ### Spring学习笔记:深入理解AOP与Annotation驱动的动态代理 #### 核心知识点解析: 在探讨Spring框架中AOP(面向切面编程)及基于Annotation的动态代理之前,我们首先需要了解AOP的基本概念及其在Spring中的实现...

    spring学习笔记0.0.0

    【标题】:“Spring学习笔记0.0.0” 在IT领域,Spring框架是Java开发者广泛使用的轻量级应用框架,它极大地简化了企业级Java应用的开发。这本“Spring学习笔记0.0.0”显然是针对初学者或正在深化Spring技术理解的...

Global site tag (gtag.js) - Google Analytics