`

Spring学习 Ioc篇一

阅读更多

      一直以来忙于项目的开发,Spring虽然不用,一直想系统地学习一下,想看看它的源码,都没有时间,这段时间比较充裕,就索性先把Spring学习下,熟悉各个功能再去探究它内部的实现。就从Ioc篇开始学习。

1、实例化spring容器的两种方法

      方法一:在类路径下寻找配置文件来实现Spring容器的实例化

ApplicationContext cx= new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});

     方法二:在文件系统路径下寻找配置文件进行Spring容器的实例化

ApplicationContext cx= new FileSystemXmlApplicationContext(new String[]{"D:\\applicationContext.xml"});

     在实际的应用中建议使用第一种方式,在程序开发中比较灵活,与路径无关。同时,sping可以指定多个配置文件,由数组传入。

2、实例化bean的三种方式

       方法一:使用类构造器实例化

      

//接口
package com.cvicse.service;
public interface PersonService {
	public void save();
}
//实现类
package com.cvicse.service.impl;
import com.cvicse.service.PersonService;
public class PersonServiceBean implements PersonService {
	public void save(){
		System.out.println("我是save()方法");
	}
}

    在applicationContext.xml的XML中配置如下:

 <bean id="personService" class="com.cvicse.service.impl.PersonServiceBean"></bean>

   在应用类中调用

ApplicationContext cx= new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
PersonService personService = (PersonService)cx.getBean("personService");
		personService.save();

       方法二:使用静态工厂方法实例化

    在方法一的基础上添加一个静态工厂方法,专门实例化bean

  

package com.cvicse.service.impl;
public class PersonServiceBeanFactory {
	public static PersonServiceBean createPersonServiceBean(){
		return new PersonServiceBean();
	}
}

   在applicationContext.xml的XML中配置如下:

<bean id="personService" class="com.cvicse.service.impl.PersonServiceBeanFactory" 
          factory-method="createPersonServiceBean"/>

   在应用类中调用

ApplicationContext cx= new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
PersonService personService = (PersonService)cx.getBean("personService");
		personService.save(); 

       方法三:使用实例工厂方法实例化

       在方法一的基础上添加一个工厂方法类,用于bean的实例化

 

package com.cvicse.service.impl;
public class PersonServiceBeanFactory {
	public PersonServiceBean createPersonServiceBean(){
		return new PersonServiceBean();
	}
}

   在applicationContext.xml的XML中配置如下:

<bean id="personServiceFactory" class="com.cvicse.service.impl.PersonServiceBeanFactory"/>
<bean id="personService" factory-bean="personServiceFactory" factory-method="createPersonServiceBean"/>

   在应用类中调用

ApplicationContext cx= new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
PersonService personService = (PersonService)cx.getBean("personService");
		personService.save(); 

3、bean的作用域范围

    (1) singleton:默认的情况下在容器启动只有一个bean的实例化对象,在容器实例化的时候初始化。如果添加了lazy-init=“true”则会延迟加载。

    (2) prototype:每次调用都会初始化一个新的实例对象

 <bean id="personService" class="cn.itcast.service.impl.PersonServiceBean" scope="prototype"/>

    (3) request

    (4) session

    (5)global session

 4、spring容器管理bean的生命周期

      bean默认的情况下是在sping容器实例化的时候被创建,在spring容器关闭之前被销毁。

      在配置文件中可以为每个bean指定初始化方法和销毁方法

 <bean id="personService"
          	class="cn.com.impl.PersonServiceBean"
          	init-method="initMethod" destroy-method="destroyMethod"></bean>

 

 

 

分享到:
评论

相关推荐

    Spring之IOC示例

    在IT行业中,Spring框架是Java开发领域中一个极为...通过阅读《Spring之IOC示例》这篇博客(博文链接:https://huangminwen.iteye.com/blog/1041298),可以更深入地理解Spring的IOC机制,并学习如何在实际项目中应用。

    java模拟spring ioc

    这篇博客“java模拟spring ioc”很可能是探讨如何在没有Spring框架的情况下,使用纯Java代码来实现类似Spring的IOC功能。以下将详细介绍Spring的IOC和DI概念以及如何模拟这些概念。 **依赖注入(Dependency ...

    《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC

    《Spring入门:Spring概述与Spring IoC》是针对初学者的一篇教程,旨在引导开发者进入Spring框架的世界。本文将深入探讨Spring的核心概念,特别是Spring的Inversion of Control(IoC,控制反转)特性,以及如何在...

    Java仿Spring框架IOC控制反转利用反射简单实现(源码)

    本篇文章将详细探讨如何通过反射机制来实现一个简单的Java IOC容器,以此来模仿Spring框架的行为。 首先,理解控制反转(IOC)的概念至关重要。在传统的编程模式中,对象通常自行创建依赖对象,而在IOC中,这种创建...

    SSM框架的学习与应用-Java EE企业级应用开发学习记录-(第六天)初识Spring框架

    本资源是一篇关于学习和应用SSM框架(Spring、SpringMVC、MyBatis)的学习记录系列文章中的第六天...通过学习这篇文章,你将会对Spring框架有一个初步的了解,并能够使用Spring的IoC容器实现控制反转和简单工厂模式。

    Spring IOC和AOP代码与笔记整理

    Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心,极大地简化了企业级应用的开发工作。本篇将深入探讨Spring的这两...

    Spring.NET学习笔记-实现一个简易的IoC框架

    ### Spring.NET学习笔记-实现一个简易的IoC框架 #### 一、背景介绍与理论基础 在.NET领域中,Spring.NET框架是一个非常重要的轻量级框架,它支持依赖注入(Dependency Injection, DI)和面向切面编程(Aspect ...

    Spring框架系列(6) - Spring IOC实现原理详解之IOC体系结构设计.doc

    本篇文章将详细探讨Spring IoC的体系结构设计,以及如何实现这些设计理念。 首先,Spring的IoC容器基于BeanFactory接口,这是容器的基础规范,它定义了如何管理和创建Bean。BeanFactory提供了诸如获取Bean实例、...

    Spring 学习笔记 spring帮助文档

    在本篇Spring学习笔记中,我们将深入探讨Spring的基本概念,包括bean的配置、依赖注入、IOC容器以及Bean的实例化方式。 首先,Spring中的核心概念是bean。Bean是Spring框架中的基本构建块,它们是被管理的对象,...

    spring-01-ioc1.rar

    标题中的"spring-01-ioc1.rar"表明这是一个关于Spring框架中控制反转(Inversion of Control,简称IoC)的初级教程资源。Spring是Java领域广泛应用的一个轻量级开源框架,它的核心特性就是IoC,它使得应用程序的组件...

    Spring基础:IoC容器(2)

    在本篇博文中,我们将深入探讨Spring框架的基础概念,特别是其核心特性——控制反转(Inversion of Control,IoC)容器。IoC容器是Spring框架的基石,它负责管理对象的生命周期和对象间的依赖关系。通过IoC,我们...

    学习笔记:尚硅谷Spring6基础篇

    ### 学习笔记:尚硅谷Spring6基础篇 #### 一、Spring框架概述 ##### 1.1 Spring是什么? Spring是一款主流的Java EE轻量级开源框架,由“Spring之父”Rod Johnson提出并创立。Spring的主要目标是简化Java企业级...

    spring学习笔记(最新版)

    ### Spring学习笔记(最新版) #### 一、Spring框架简介 Spring框架是一个广泛使用的轻量级企业级应用框架,它提供了全面的解决方案来构建复杂的Java应用程序。Spring的核心特性包括依赖注入(Dependency Injection,...

    Spring学习笔记之一“why spring”

    标题中的"Spring学习笔记之一“why spring”"表明了这篇笔记主要探讨的是Spring框架的核心价值和使用背景。在IT行业中,Spring是一个广泛使用的Java企业级应用开发框架,它以其依赖注入(Dependency Injection,DI)...

    Spring高级篇.pdf

    Spring框架中的IoC容器是其核心功能之一,它通过依赖注入的方式管理应用程序中的对象和它们之间的关系。IoC容器主要包括两个接口:BeanFactory和ApplicationContext。BeanFactory是Spring IoC容器的基础,它负责实例...

    JAVA spring 系列案例50个和学习资料

    Spring系列第1篇:为何要学spring?Spring系列第2篇:控制反转(IoC)与依赖注入(DI)。Spring系列第3篇:Spring容器基本使用及原理。Spring系列第4篇:xml中bean定义详解(-)Spring系列第5篇:创建bean实例这些方式...

    spring学习笔记(3.20)

    基于以上分析,我们可以期待这篇"spring学习笔记(3.20)"中包含以下知识点: 1. **Spring框架基础**:介绍Spring的基本概念、架构和核心组件,如IoC(Inversion of Control,控制反转)和DI(Dependency Injection,...

    Spring学习笔记-cqupt

    在本篇 Spring 学习笔记中,我们将探讨 Spring 的入门、优点、组成以及重要的IOC理论。 1. **Spring 简介** Spring 是一个开源的、免费的 Java 框架,它的目标是减少企业级开发的复杂性。它集成了许多现有的技术,...

    Spring基础学习资料,很全面,很经典,手工整理,适合刚学习spring的同学

    1. **Spring入门学习前导篇**: 在开始Spring的学习之前,了解Spring的基本概念和历史背景是必要的。Spring框架起源于2003年,由Rod Johnson创建,旨在解决企业应用开发中的复杂性问题。Spring通过提供IoC容器和AOP...

Global site tag (gtag.js) - Google Analytics