bean管理(xml)

(一)spring的工厂类

FileSystemXmlApplicationContext 读取磁盘配置文件

(二)bean实例化的三种方式

(1)使用类构造器实例化(默认无参数)

1.Bean01.java

package demo01;

public class Bean01 {
//无参构造函数 public Bean01() { System.out.println("bean1被实例化了..."); } }

2.applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--无参构造器方式--> <bean id="bean01" class="demo01.Bean01"/> </beans>

3.DemoTest.java

package Test;

import demo01.Bean01;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DemoTest {

    @Test

    public void demo01(){

        //创建工厂

        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

        //通过工厂创建类

        Bean01 bean01=(Bean01)applicationContext.getBean("bean01");

    }

}

(2)使用静态工厂方法实例化(简单工厂模式)

1.Bean02.java

package demo01;

public class Bean02 {

}

2.Bean02Factory.java

package demo01;

public class Bean02Factory {

    public static Bean02 bean2(){

        System.out.println("bean02被实例化了...");

        return new Bean02();

    }

}

3.applicationContext.xml

<!--静态工厂方式-->

<bean id="bean02" class="demo01.Bean02Factory" factory-method="bean2"/>

4.DemoTest.java

@Test

public void demo02(){

    //创建工厂

    ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

    //通过工厂创建类

    Bean02 bean02=(Bean02) applicationContext.getBean("bean02");

}
 

(3)使用实例工厂方法实例化(工厂方法模式)

1.Bean03.java

package demo01;

public class Bean03 {

}

2.Bean03Factory.java

package demo01;

public class Bean03Factory {

    public Bean03 bean3(){

        System.out.println("bean03被实例化了...");

        return new Bean03();

    }

}

3.applicationContext.xml

<!--实例工厂方式-->

<bean id="bean03Factory" class="demo01.Bean03Factory"/>

<bean id="bean03" factory-bean="bean03Factory" factory-method="bean3"/>

4.DemoTest.java

@Test

public void demo03(){

    //创建工厂

    ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

    //通过工厂创建类

    Bean03 bean03=(Bean03) applicationContext.getBean("bean03");

}
(三)bean的常用配置

(1)bean的配置

(2)bean的作用域

(四)bean的生命周期

spring学习笔记之---bean管理的更多相关文章

  1. spring学习笔记之---bean管理的注解方式

    bean管理的注解方式 (一)使用注解定义bean (1)常用注解 (2)实例 1.在pom.xml中进行配置 <dependencies> <dependency> < ...

  2. Spring学习笔记(3)——Bean的注入方式

    依赖注入 依赖注入支持属性注入.构造函数注入.工厂注入. 属性注入: 属性注入即通过setXxx()方法注入Bean的属性值或依赖对象 属性注入要求Bean提供一个默认的构造函数(无参构造函数),并为 ...

  3. Spring学习笔记——02 Bean的命名及实例化

    一.Bean的命名 前一篇讲到IoC是一个管理Bean的容器,Bean多数情况下都是通过XML文件进行配置的,其中Bean的命名有以下几种方式,现在梳理一下. 1. 不指定id,只配置类名 <b ...

  4. Spring学习笔记(2)——Bean的配置

    要使应用程序中的Spring容器成功启动,需要以下三个方面的条件都具备: 1.Spring框架的类包都已经放到应用程序的类路径下 2.应用程序为Spring提供完备的Bean配置信息 3.Bean的类 ...

  5. Spring学习笔记—装配Bean

    在Spring中,对象无需自己负责查找或创建与其关联的其他对象.相反,容器负责把需要相互协作的对象引用赋予各个对象.创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入的本质. ...

  6. Spring学习笔记之bean配置

    1.命名bean 每个bean都有一个或者多个的的标识符.这些标识符必须在加载他们的容器里边唯一.一个bean经常有且只有一个标识符,但是如果需要超过一个的名字,可以考虑额外的别名. 基于xml的配置 ...

  7. Spring学习笔记之Bean的实例化

    一.bean的实例化方法有3种, 1.构造器实例化 2.静态工厂方法实例化 3.实例工厂方法实例化 二.用构造器来实例化 <bean id="ShunDao" class=& ...

  8. Spring学习笔记--注入Bean属性

    这里通过一个MoonlightPoet类来演示了注入Bean属性property的效果. package com.moonlit.myspring; import java.util.List; im ...

  9. spring学习笔记之---bean属性注入

    bean属性注入 (一)构造方法的属性注入 1.Student.java package entity; public class Student { private String name; pri ...

随机推荐

  1. vue回顶部 组件 可以直接使用

    <template> <div id="goTop"> <div class="goTop" v-show="goTop ...

  2. 一张图带你了解webpack的require.context

    很多人应该像我一样,对于webpack的require.context都是一知半解吧.网上很多关于require.context的使用案例,但是我没找到可以帮助我理解这个知识点的,于是也决定自己来探索 ...

  3. Ural 2070:Interesting Numbers(思维)

    http://acm.timus.ru/problem.aspx?space=1&num=2070 题意:A认为如果某个数为质数的话,该数字是有趣的.B认为如果某个数它分解得到的因子数目是素数 ...

  4. Object.toString()打印“地址”的原理

    Object.toString()打印"地址"的原理 @(java) 首先,打印的绝不是地址 public native int hashCode(); public boolea ...

  5. java Springboot 生成 二维码 +logo

    上码,如有问题或者优化,劳请广友下方留言 1.工具类 import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHint ...

  6. EnjoyingSoft之Mule ESB开发教程第一篇:初识Mule ESB

    目录 1. Mule ESB基本介绍 2. Mule ESB社区版和企业版 3. Mule ESB常用场景 4. Mule ESB软件安装 客户端安装 服务端安装 5. 第一个Mule ESB应用- ...

  7. MyBatis 一对多映射

    From<MyBatis从入门到精通> <!-- 6.1.2.1 collection集合的嵌套结果映射 和association类似,集合的嵌套结果映射就是指通过一次SQL查询将所 ...

  8. ng-bootstrap 组件集中 tabset 组件的实现分析

    ng-bootstrap: tabset 本文介绍了 ng-bootstrap 项目中,tabset 的实现分析. 使用方式 <ngb-tabset> 作为容器元素,其中的每个页签以一个 ...

  9. spring配置文件比较全的约束

    个人总结:Spring的配置文件applicationContext.xml约束文件.全面约束 <?xml version="1.0" encoding="utf- ...

  10. IP地址/掩码/网关/DNS的设置与工作原理(转)

    现在互联网飞速发展,工作中生活中上不了网的计算机是不可想象的,而电脑系统网络设置中的IP地址.子网掩码.默认网关及DNS服务器,怎么理解,它们是如何工作的,下面做个简单介绍. 通常的上网方式,是打开I ...