`

Spring学习系列之BeanFactory入门(1)

 
阅读更多

简介:

Spring的BeanFactory接口是Spring框架的最核心接口,它提供了高级IoC配置机制,Spring为BeanFactory提供了多种实现,其中最常用的XmlBeanFactory,它的getBean()方法可以从指定的XML文件中读取数据,返回特定的Bean. 本文从最简单的例子来展示如何使用BeanFactory

 

Bike类:

 

package com.james.beanfactory;

public class Bike {
	private String brand;
	private String type;
	private int price;
	
	public Bike() {
		System.out.println("In Bike Constructor");	
	}
	
	public String getBrand() {
		return brand;
	}
	public void setBrand(String brand) {
		this.brand = brand;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	
	public void display(){
		System.out.println("This is " + brand + " " + type + ", You can get me by CNY: " + price);
	}
	
	public void rideTo(String add){
		System.out.println("Riding to: " + add);
	}

}

 

 

Rider类:

 

package com.james.beanfactory;

public class Rider {
	private String name;
	private Bike bike;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Bike getBike() {
		return bike;
	}
	public void setBike(Bike bike) {
		this.bike = bike;
	}
	
	public void rideTo(String to) {
		System.out.println("In Rider.rideTo()");
		bike.rideTo(to);
	}	

}

 

 

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" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	<bean id="bike" class="com.james.beanfactory.Bike" 
		 p:brand="Giant"
		 p:type="ATX 770D"
		 p:price = "2598"
		 />
	<bean id="rider" class="com.james.beanfactory.Rider" 
		 p:name="james"
		 p:bike-ref="bike"
		 />
</beans>

 

 

测试类:

 

package com.james.beanfactory;

import java.io.IOException;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;

public class BeanTest {

	public static void main(String[] args) throws IOException {
		// Read the XML configuration file.
		ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		Resource res = resolver.getResource("classpath:com/james/beanfactory/beans.xml");
		System.out.println(res.getURL());
		
		// Get and use bean.
		BeanFactory bf = new XmlBeanFactory(res);
		Bike myBike = bf.getBean("bike", Bike.class);
		myBike.display();
		
		// A Rider contains a Bike, The dependancy is set in xml. 
		Rider r = bf.getBean("rider", Rider.class);
		r.rideTo("Tibet");
	}

}

 

 

运行结果:

 

file:/E:/masterSpring/chapter3/WebRoot/WEB-INF/classes/com/james/beanfactory/beans.xml
2013-11-02 22:35:15,823  INFO [main] (XmlBeanDefinitionReader.java:315) - Loading XML bean definitions from class path resource [com/james/beanfactory/beans.xml]
In Bike Constructor
This is Giant ATX 770D, You can get me by CNY: 2598
In Rider.rideTo()
Riding to: Tibet

 

 

说明:

  1. 此处我们的Bike和Rider都不需要参数去构造
  2. XML的配置文件里我们传递的是Bike和Rider的属性,以及一个依赖关系
  3. 可以使用多种注入方式获取一个Bean,本例子仅仅只是用了属性注入
0
0
分享到:
评论

相关推荐

    day38 05-Spring的BeanFactory与ApplicationContext区别

    Spring3_day01这个压缩包文件可能包含了Spring框架的入门学习资料,可能涵盖了Spring的基础概念、bean的生命周期、依赖注入(DI)以及如何配置和使用BeanFactory和ApplicationContext等内容。通过学习这些资料,你...

    Spring课件,spring入门学习之用

    ### Spring入门学习知识点详解 #### 一、Spring框架概述 Spring 框架是一个轻量级的开源框架,主要用于简化企业级 Java 应用程序的开发。它通过提供一种简单的编程模型来解决复杂的依赖关系管理和配置问题。Spring...

    Java Spring学习路线.pdf

    ### Spring框架学习路线 #### Spring框架概述 Spring是一个开源的Java/Java EE全功能栈的应用框架,是轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架。Spring框架不仅提供了依赖注入的功能来促进松耦合,...

    Java Spring入门简介

    综上所述,Spring入门涉及到的概念和知识点十分丰富,包括核心概念如IoC和AOP的深入理解,搭建开发环境,学习Spring框架结构,编写和运行第一个Spring程序,掌握IoC容器的使用,了解Bean的生命周期和配置细节,以及...

    Spring从入门到精通

    ### Spring从入门到精通知识点概览 #### 一、Spring框架概述 - **Spring框架的历史:** - Spring 框架由 Rod Johnson 创建于2004年。 - 它最初是作为解决企业级Java应用开发复杂性的一个轻量级容器而诞生的。 -...

    Spring快速入门教程

    通过学习这个Spring快速入门教程,你将掌握Spring的基本概念和常用模块,为后续的深入学习和实际项目开发打下坚实的基础。开始探索Spring的世界,你会发现它的强大和灵活性,能够极大地提升你的开发效率。

    Spring从入门到精通 pdf

    - **阅读书籍**:市面上有许多关于Spring的优秀书籍,《Spring从入门到精通》便是其中一本经典之作。 #### 三、Spring开发环境搭建 - **JDK**:下载并安装最新版本的JDK,确保环境变量正确设置。 - **Eclipse**:...

    Spring入门 PDF

    《Spring入门 PDF》一书作为Spring框架初学者的引导,提供了深入浅出的Spring框架介绍,涵盖其核心概念、架构设计以及在Java企业级开发中的应用。以下是对该书籍涉及的关键知识点的详细解读: ### Spring框架简介 ...

    Spring从入门到精通_源代码.zip

    1. **核心容器**:这是Spring框架的基础,包括Bean工厂(BeanFactory)和ApplicationContext。BeanFactory负责管理对象的生命周期和依赖关系,而ApplicationContext则提供了更多的企业级服务,如国际化、事件传播等...

    spring学习方法

    ### Spring学习方法详解 #### 一、Spring框架概述 Spring框架是一个开源的、设计层面的框架,主要用于解决业务逻辑层与其他层之间的松耦合问题。它通过实现面向接口的编程思想,使得整个系统应用能够更好地组织和...

    Java EE 框架整合 开发入门到实战-Spring+Spring MVC+MyBatis微课版复习笔记

    Spring、Spring MVC和MyBatis是Java EE中最受欢迎的框架之一。这些框架的整合使用广泛用于构建企业级应用。下面将详细介绍这些框架的核心概念、模块组成、实例化Bean的方式以及依赖注入的机制和优势。 Spring框架...

    spring从入门到精通精简笔记

    ### Spring从入门到精通精简笔记 #### 一、Spring框架概述 Spring 是一个开源的 Java 平台框架,提供了一种全面的方式来管理和控制应用程序的各种组件和服务。它最初由 Rod Johnson 创建,旨在解决企业级应用开发...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...

    spring入门的所有代码,可以运行

    总的来说,这个压缩包提供了一个全面的Spring入门学习资源,从基本概念到实践操作,涵盖了Spring框架的主要方面。通过实际操作和理论结合,你可以快速掌握Spring并将其应用到实际项目中。记得在学习过程中多思考、多...

    强烈推荐 Spring3.0 入门 代码下载

    写一个最简单的spring示例,使用spring3.0的框架,实现简单应用,索性放在这里供还没入门的spring爱好者参考,初步感受一下spring应用(spring高手就不必看了,这里并没有涉及高级特性,比如与ORM框架的整合,事务...

    Spring从入门到精通13

    根据给定的信息,“Spring从入门到精通13”这一标题明确指出这是一份关于Spring框架的学习资料,并且从描述“教会你一步一步学习Spring,非常适合新手学习”可以看出这份资料旨在为初学者提供逐步深入的Spring框架...

    spring快速入门教程

    通过这个Spring快速入门教程,你将学习到如何配置Spring环境,创建Bean,使用DI,实现AOP,搭建Spring MVC应用,以及如何利用Spring Boot快速启动项目。同时,你还将了解到Spring在数据访问和安全防护方面的强大能力...

    北大青鸟spring入门课程

    总结,北大青鸟的 Spring 入门课程旨在教授学员如何使用 Spring 框架进行企业级应用开发,包括理解 Spring 的容器概念,利用依赖注入和面向切面编程来构建松散耦合的系统,并了解如何与其他框架(如 Struts 和 ...

    Spring 2框架入门

    Spring 2框架是Java开发中的一个核心组件,它提供了一个全面的应用程序开发模型,旨在简化企业级Java应用程序的创建和...它将引导你逐步了解Spring的基本概念,教你如何配置和使用Spring,从而开启你的Spring开发之旅。

Global site tag (gtag.js) - Google Analytics