1.配置bean的作用域:

  通过配置scope属性可以bean的作用域,参数有 prototype、request、session、singleton。

    1)singleton为单例,IoC容器只会创建一个实例,并在IoC容器实例化的时候,bean就已经被创建了。

    2)property为每次实例bean的时候,都会实例化一个新的bean,IoC实例化的时候,bean不会被创建。bean在加载的时候才会创建

<bean id="baoma" class="com.myspring.level2.demo.Car" scope="prototype">

2.使用外部属性文件:

  想要使用外部文件,必须先引入context的命名空间,在添加的上<context:property-placeholder location="classpath:...">标签,location里写外部文件的路径。通过${属性名}就可以访问到该变量,比如在外部文件zpd.property里写入name=xxxxxxx;想要访问这个name,如下:

    <context:property-placeholder location="classpath:zpd.property"/>
<bean id="baoma" class="com.myspring.level2.demo.Car" scope="prototype">
<property name="name" value="${name}"></property>
<property name="brand" value="BMW"></property>
</bean>

3.SpEL:

  SpEL是Spring表达式语言,是一个支持运行时查询和操作对象图的强大的表达式语言。语法类似于EL:SpEL使用#{..}作为定界符,所有在大括号中的字符都将被认为是SpEL

SpEL为bean的属性进行 动态赋值 提供了便利。value=#{classid},引用其他对象的属性,支持正则,可以调用静态方法。

4.IoC容器的bean的生命周期:

  在bean中声明init-method、destory-method属性的方法。

<bean id="baoma" class="com.myspring.level2.demo.Car" init-method="init" destroy-method="destooy">

  实现BeanPostProcessor接口,来配置bean的后置处理器。postProcessBeforeInitialization(init-method之前被调用)\postProcessAfterInitialization(init-method之后被调用)

public class MyBeanPostProcess implements BeanPostProcessor
{
@Override
public Object postProcessAfterInitialization(Object arg0, String arg1) throws BeansException
{
System.out.println("你好啊");
return arg0;
}
@Override
public Object postProcessBeforeInitialization(Object arg0, String arg1) throws BeansException
{
System.out.println("再见啦");
return arg0;
} }

  在bean中实例化该bean:

<bean class="com.myspring.level2.demo.MyBeanPostProcess"></bean>

5.通过工厂方法配置Bean:

  通过静态工厂方法配置bean:   直接调用一个类的静态方法就可以返回bean的实例,bean属性factory-method。

  通过实例工厂方法配置bean:   通过实例工厂方法配置bean。

6.FactoryBean:

 略

Spring入门第二课:Spring配置Bean的细节的更多相关文章

  1. Spring入门第二课

    看代码 package logan.spring.study; public class HelloWorld { private String name; public void setName2( ...

  2. Spring入门2. IoC中装配Bean

    Spring入门2. IoC中装配Bean 20131125 前言: 上一节学习了Spring在JavaProject中的配置,通过配置文件利用BeanFactory和ApplicationConte ...

  3. Spring入门(4)-注入Bean属性

    Spring入门(4)-注入Bean属性 本文介绍如何注入Bean属性,包括简单属性.引用.内部Bean.注入集合等. 0. 目录 注入简单值 注入引用 注入内部Bean 装配集合 装配空值 使用命名 ...

  4. 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)

    组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...

  5. 跟着刚哥学习Spring框架--通过XML方式配置Bean(三)

    Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式   √ id:标识容器中的bean.id唯一. √ cl ...

  6. Hibernate入门第二课 Hibernate Tools for Eclipse Plugins安装

    Hibernate入门第二课 Hibernate Tools for Eclipse Plugins安装 你们可以直接去,http://blog.csdn.net/wei_chong_chong/ar ...

  7. 数据结构入门第二课(浙大mooc)

    数据结构入门第二课 目录 数据结构入门第二课 引子 多项式的表示 方法1 顺序结构表示多项式各项 方法2 顺序结构表示非零项 方法3 链表结构存储非零项 多项式问题的启示 线性表 线性表的抽象数据类型 ...

  8. Spring入门第一课:Spring基础与配置Bean

    1.入门 Spring是简化java开发的一个框架,其中IoC和AOP是Spring的两个重要核心.由于Spring是非侵入性的,通过Ioc容器来管理bean的生命周期,还整合了许多其他的优秀框架,所 ...

  9. Spring入门(二):自动化装配bean

    Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...

随机推荐

  1. 01.php面向对象

    下面是php_oop的一些基本知识 <?php //echo "<meta charset='utf-8'>" //设置中文输出 //1.面向对象类的建立: cl ...

  2. Creator4.2建模心得与技巧1——树的建立与跟随摄像机旋转

    Creator建模: 树一般在虚拟现实程序中都用面来实现,一种方法是通过两个面相互垂直成90度叠放在一起,另一种方法是让树面正对着视角一起旋转.这里主要说一下第二种方法. 主要思路:把树面一直正对着摄 ...

  3. 基础架构之Maven私有库

    Maven对于Java开发来说肯定不会陌生,由于各种问题,公司常常需要搭建自己的私有Maven仓库. (一)  环境要求 Centos 7.5.1804 Docker 18.06.1-ce sonat ...

  4. Vue入门基础(火柴)

    前言 由于个人十分欣赏博友——小火柴的蓝色理想,他的博文我看了大多数,觉得十分的精彩,然而很多都是看后即忘.我想除了没有经常动手敲代码,更可能是在看的时候忽略了很多细节,因此打算把他的博文通通给“抄袭 ...

  5. C# GDI+ 利用 Rectangle GraphicsPath 判断 矩形或多边形 图形关系

    最近在做一些简单的图像对比工作,总结了一些GDI+对象的使用方式,记录下来共享给大家使用. 判断Rectangl与多边形的关系 /// <summary> /// 是否包含输入范围 /// ...

  6. 网站的Information Architecture--构建一个最优用户体验的site structure

    http://conversionxl.com/website-information-architecture-optimal-user-experience/ 在网站上应该有什么类型的conten ...

  7. 如何在 Linux 虚拟机上扩展根文件系统

    问题描述 通过 Azure 平台部署的 Linux 虚拟机默认的根文件系统容量有限,需要进行扩展. 问题分析 由于 Azure 平台部署的 Linux 虚拟机默认根文件系统容量比较小,客户在使用过程中 ...

  8. Linux ->> Apt-get命令安装软件

    Apt全称Advanced Package Tool.Apt-get适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统. 用法: apt-cache ...

  9. SQL Server 2017 on Linux

    此文转载,原文地址:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-whats-new CTP 2.0 The CTP 2.0 ...

  10. win 8系统:System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。找不到指定的模块

    最近用CefSharp做了一个chrome核心的浏览器. 在win 7.win 10系统上都正常运行,但是在win 8系统上报错了. win 8系统:System.IO.FileNotFoundExc ...