`
aijuans
  • 浏览: 1549307 次
社区版块
存档分类
最新评论

我的spring学习笔记8-Spring中Bean的实例化

阅读更多
在Spring中要实例化一个Bean有几种方法:

1、最常用的(普通方法)

<bean id="myBean" class="www.6e6.org.MyBean" />


使用这样方法,按Spring就会使用Bean的默认构造方法,也就是把没有参数的构造方法来建立Bean实例。

(有构造方法的下个文细说)

2、还有一种获取Bean实例的方法(工厂方法)

我们看看Spring怎么用工厂方法:

第一种方法:

(1)接口:

public interface IMusicBox {
    public void play();
}

(2)工厂方法:

public class MusicBoxFactory {
    public static IMusicBox createMusicBox() {
        return new IMusicBox(){
           public void play() {
                System.out.println("播放钢琴音乐...");
           }
        };
    }
}


(3)配置:

<bean id="musicBox" class="onlyfun.caterpillar.factory.MusicBoxFactory" 
    factory-method="createMusicBox"></bean>  

(4)使用:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringDemo {
    public static void main(String[] args) {
        ApplicationContext appContext = new ClassPathXmlApplicationContext("*.xml");
        IMusicBox myMusicBox = (IMusicBox) appContext.getBean("musicBox");
        myMusicBox.play();
    }
}

第二种配置方法:

<bean id="musicBoxFctory" class="onlyfun.caterpillar.factory.MusicBoxFactory"></bean>   
<bean id="myMusicBox" factory-bean="musicBoxFctory" factory-method="createMusicBox"></bean>

  
分享到:
评论

相关推荐

    spring学习笔记

    Bean:....................................................................................................................................12 1.4.1Spring 框架Bean 实例化的方式:.............................

    Java学习笔记-个人整理的

    {8}多线程}{121}{chapter.8} {8.1}线程的常用属性与方法}{121}{section.8.1} {8.2}后台线程}{123}{section.8.2} {8.3}创建线程的两种方法}{123}{section.8.3} {8.4}Runnable}{123}{section.8.4} {8.5}Sleep...

    java查看sun包源码-learning-spring:Spring框架讲解

    在SpringIOC容器读取bean配置创建bean实例之前,必须对它进行实例化。只有在容器实例化后,才可以从IOC容器里获取bean实例并使用 Spring提供了两种类型的IOC容器实现 BeanFactory:IOC容器的基本实现,在调用getBean...

    Java/JavaEE 学习笔记

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    J2EE学习笔记(J2ee初学者必备手册)

    Spring学习笔记...............345 第一章 Spring概述..........................345 第二章 Spring IOC(控制反转)........347 第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问.............

    【2019版】Spring4.3入门视频课程

    bean生命周期、实例化bean的方式和时机、bean的作用域、继承配置 .自动装配、FactoryBean、两种后处理器 二、Spring AOP AOP简介、实现原理、代理技术 Spring AOP的配置实现 AspectJ表达式 三、Spring注解配置 注解...

    thinking-in-spring:学春天

    Bean实例化 常规方法 非常规方法 Bean的初始化 顺序:@PostConstruct&gt; InitializingBean#afterPropertiesSet方法&gt; initMethod Bean的预设初始化 延迟初始化和非延迟对象的差异:应用之上启动前后BeanInitialDemo ...

    day_01.rar

    Spring第一天学习笔记,包含使用IOC管理项目资源、实例化Bean的三种方式,以及bean对象生命周期的代码演示

    swing界面设计之JTree

    (十七) Swing 学习笔记 108 Swing API 包括18个公共包: 108 例程1.1 HelloWorldSwing.java 109 例程2.2 HelloWorldJFrame.java 110 (十八) 动态加载文件树的java程序 111 FileSystemTree.java源代码 112 //内部类 ...

    整理后java开发全套达内学习笔记(含练习)

    进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时,加上“final”关键词来限定,这个...

    跟我学javaweb全套ppt

    《跟我学Java Web》内容包括搭建Web开发环境、HTML相关技术基础知识、JavaScript相关技术基础知识、JSP技术基础知识、Servlet技术基础知识、搭建MySQL数据库开发环境、JDBC技术、JavaBean技术基础知识、Ajax技术基础...

Global site tag (gtag.js) - Google Analytics