day05-Spring管理Bean-IOC-03】的更多相关文章

http://blog.csdn.net/yerenyuan_pku/article/details/52832434 在Spring的第一个案例中,我们已经知道了怎么将bean交给Spring容器进行管理,并且明白了怎么从Spring容器中获取bean.那我们就有一个疑问了:Spring是如何创建并管理bean的呢?现在我们就来编码剖析Spring管理Bean的原理. 本文是在Spring的第一个案例的基础上展开的. 我们要使用dom4j读取Sping的配置文件——beans.xml <?xm…
1. 实例化spring容器和从容器获取Bean对象 实例化Spring容器常用的两种方式: 方法一: 在类路径下寻找配置文件来实例化容器 [推荐使用] ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"}); 方法二: 在文件系统路径下寻找配置文件来实例化容器 [这种方式可以在开发阶段使用] ApplicationContext ctx = new FileSyste…
1: bean的创建:   如果我们默认的scope配置为Singleton的话, bean的创建实在Spring容器创建的时候创建: 如果scope的配置为Prototype的话,bena的创建是在getBean的时候创建的. 同样我们还可以在<bean>的配置中配置lazy-init = ”true“是bean的创建在getBean时. 2: 我们有时候可能在bean完成之后可能想要打开一些资源. 我们可以配置init-method="init" init方法在调用了类…
引入dom4j jar包 1.新建Person接口和PersonBean public interface PersonIService { public void helloSpring(); } public class PersonServiceImpl implements PersonIService { @Override public void helloSpring() { System.out.println("Hello Spring!"); } } 2.在bean…
先附一下编写的Spring容器的执行结果: 代码如下: 模拟的Spring容器类:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72…
我们可以自定义bean的初始化和销毁方法,这里所指的的初始化和bean的构造不同,初始化是在bean构造完成后,对bean内部的属性或一些逻辑进行初始化. 首先要弄清一些概念: 构造(对象创建) 单实例:在容器启动时创建对象 多实例:在每次获取的时候创建对象 初始化:在对象创建后调用 销毁: 单实例:在容器关闭时执行销毁方法 多实例:容器不会管理,不会调用销毁方法 下面提供几种方法供参考: 一.指定初始化和销毁方法 在配置类中,我们可以通过@Bean指定initMethod 和destroyMe…
project目录 MyClassPathXMLApplicationContext读取xml,以及实例化bean. 因为是一开始实例化配置文件所有bean,所以需要构造器完成这些工作. package test; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Docum…
1.使用类构造器实例化  (90%以上都是使用这种) <bean id=“orderService" class="cn.itcast.OrderServiceBean"/> 2.使用静态工厂方法实例化 <bean id="personService" class="cn.itcast.service.OrderFactory" factory-method="createOrder"/> p…
1: 首先我们要利用dom4j进行xml的解析,将所有的bean的配置读取出来. 2:利用java的反射机制进行对象的实例化. 3: 直接获得对象 package cn.Junit.test; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Document; import…
目录结构: Person.java package com.wss.entity; import com.wss.service.doHomeWork; public class Person { private String name; private int age; private doHomeWork dohomework; public void setDoHomeWork(doHomeWork dohomework) { this.dohomework = dohomework; }…