spring核心容器两个接口ApplicationContext和BeanFactory

import dao.LoginDao;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import service.LoginService;

public class Login1 {
    public static void main(String[] args) {
        //获取核心容器对象
        /*
        *ApplicationContext:构建核心容器时,创建对象采取的策略是采用立即加载的方式,也就是一读取完配置文件马上就创建配置文件中配置的对象(单例对象适用)
        *BeanFactory:构建核心容器时,创建对象延迟,什么时候获取id对象,什么时候创建对象(多例对象使用)
        * */
        //ApplicationContext:
       //ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");//可以加载类路径下的配置文件,要求配置文件必须在类路径下(常用)
        //ApplicationContext ac = new FileSystemXmlApplicationContext("C:\\Users\\刘名远\\Desktop\\bean.xml");//可以加载磁盘任意路径下的配置文件(需要访问权限)
        //LoginService ls = (LoginService) ac.getBean("LoginServiceImpl");//根据spring配置文件中的id获取对象
        //LoginDao ld = (LoginDao)ac.getBean("LoginDaoImpl");
      //  ClassPathResource resource = new ClassPathResource("bean.xml");
        Resource resource  = new ClassPathResource("bean.xml");
        BeanFactory bf = new XmlBeanFactory(resource);
        LoginService ls=(LoginService)bf.getBean("LoginServiceImpl");
        LoginDao ld=(LoginDao)bf.getBean("LoginDaoImpl");
        System.out.println(ls);
        System.out.println(ld);
    }
}

有问题或者指点请留言呀~

原文地址:https://www.cnblogs.com/pikajiu/p/11336203.html

时间: 2024-11-06 03:44:57

spring核心容器两个接口ApplicationContext和BeanFactory的相关文章

一头扎进Spring之---------Spring核心容器

[回顾] 在上篇博客中,我们清楚了Spring的核心IOC,博客的结尾,提出了关于容器的问题.在Spring框架中,容器扮演者重要的角色.容器是什么?Java容器?Spring容器?这几个词,大家都很熟悉,但真正知道么?本篇博客的重点分析Spring中的核心容器.容器和Java容器不做详细介绍. [容器] 容器,从字面角度很容易理解,就是用来贮藏东西的.从计算机的角度,可粗略地分为Web容器和编程容器. Web容器是应用服务器中位于组件和平台之间的接口集合.如WebLogic.Tomcat等.

spring核心容器

容器:用来包装或装载物品的储存器 web服务器与jsp.servlet的关系: 从程序文件存放的位置 程序文件要放到web服务器上 从程序执行的方式  程序的从初始化到消亡都是web服务器管理的 从以上两方面看: web服务器实际是动态网页程序文件的容器 核心容器概述 :控制反转 ,通过容器控制对象的创建以及维护.反转就是将对象的控制权转移给容器处理,目的是获得更好的拓展性和可维护型. public class Boy{ private Dog dog; public Dog getDog(){

关于Spring核心容器功能

一句话总结:Spring框架的核心容器能为我们创建对象 spring框架是一种粘合层框架,它是用来整合web层框架和持久层框架的spring可以支持我们各个层级包括数据展示层,业务层和持久层都有对应的解决方案.spring核心容器core container提供了创建对象管理对象的功能core container包括bean,core,context,Expression Languagebean提供了整个框架最基本的部分,包括了IOC控制反转和依赖注入Bean的创建用到了工厂模式:父类是Bea

spring5源码分析系列(二)——spring核心容器体系结构

首先我们来认识下IOC和DI: IOC(Inversion of Control)控制反转:控制反转,就是把原先代码里面需要实现的对象创建.依赖的代码,反转给容器来帮忙实现.所以需要创建一个容器,并且需要一种描述来让容器知道需要创建的对象与对象的关系.这个描述最具体表现就是可配置的文件. DI(Dependency Injection)依赖注入:指对象是被动接受依赖类而不是自己主动去找,即对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给它. 思考以下问题: 对象和

Spring 核心容器 IOC

目录 1. BeanFactory 2. BeanDefinition 3.BeanDefinitionReader 4 . Web IOC 容器初体验 一 .BeanFactory Spring Bean 的创建是典型的工厂模式,这一系列的 Bean 工厂,也即 IOC 容器为开发者管理对象间的依赖关系提供了很多便利和基础服务.最基本的 IOC 容器接口 BeanFactory,来看一下它的源码: public interface BeanFactory { //对 FactoryBean 的

spring核心的两个主要部分

一.spring两大核心内容 1.aop : 面向切面编程 . 扩展功能不是修改源代码实现. 2.ioc : 控制反转 . --比如一个类,在类里面有方法(非静态的方法),如果要调用类里面的方法,需要创建类的对象,使用对象调用方法.通常:创建类对象的过程,需要new出来对象. --而spring要做的就是,把对象的创建不是通过new方式实现,而是交给spring配置创建类对象. ioc底层原理使用技术 ----这些spring已经封装好. (1) xml 配置文件 (2) dom4j解析xml

Spring系列之核心容器

[回顾] 在上篇博客中,我们清楚了Spring的核心IOC,博客的结尾,提出了关于容器的问题.在Spring框架中,容器扮演者重要的角色.容器是什么?Java容器?Spring容器?这几个词,大家都很熟悉,但真正知道么?本篇博客的重点分析Spring中的核心容器.容器和Java容器不做详细介绍. [容器] 容器,从字面角度很容易理解,就是用来贮藏东西的.从计算机的角度,可粗略地分为Web容器和编程容器. Web容器是应用服务器中位于组件和平台之间的接口集合.如WebLogic.Tomcat等.

Spring核心——Bean的定义与控制

在前面两篇介绍Sring核心与设计模式的文章中,分别介绍了Ioc容器和Bean的依赖关系.如果阅读过前2文就会知道,Spring的整个运转机制就是围绕着IoC容器以及Bean展开的.IoC就是一个篮子,所有的Bean都向里面扔.除了提供篮子功能创建并存放Bean之外,IoC还要负责管理Bean与Bean之间的关系--依赖注入.之前也提到Bean是Spring核心容器的最小工作单元,Spring一些更高级的功能(例如切面.代理)都是在Bean的基础上实现. 除了管理Bean与Bean之间的关系,I

Spring核心思想--六大模块介绍

Spring核心容器(Core Spring container) 容器是Spring框架最核心的部分,它管理着Spring应用中bean的创建.配置和管理.在该模块中,包括了Spring bean工厂,它为Spring提供了DI的功能.基于bean工厂,我们还会发现有多种Spring应用上下文的实现.还提供了许多企业服务. 所有的Spring模块都构建于核心容器之上. 面向切面编程(AOP) Spring对面向切面编程提供了丰富的支持.这个模块是Spring应用系统中开发切面的基础,与DI一样