Maven导入Spring依赖

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.3</version>
</dependency>

Spring配置文件

<?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="account" class="com.ttpfx.domain.Account"/>
</beans>

BeanFactory 和 ApplicationContext 的区别

BeanFactory:在使用对象时创建对象

ApplicationContext:在加载配置文件时创建对象(默认情况下)

使用BeanFactory:

Resource resource = new ClassPathResource("Beans.xml");
BeanFactory beanFactory = new XmlBeanFactory(resource);
Account account = beanFactory.getBean(Account.class);
System.out.println(account);

使用ApplicationContext:

ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("Beans.xml");
Account account = applicationContext.getBean("account", Account.class);
System.out.println(account);

创建Bean的三种方式

  1. 通过构造方法创建对象
<bean id="account" class="com.ttpfx.domain.Account"/>
  1. 通过普通工厂类的实例方法创建实例:
<bean id="instanceFactory" class="com.ttpfx.factory.InstanceFactory"/>
<bean id="account" factory-bean="instanceFactory" factory-method="getAccount"/>
  1. 通过静态工厂类的静态方法创建实例:
<bean id="account" class="com.ttpfx.factory.StaticFactory" factory-method="getAccount"/>

Bean的作用范围

通过bean标签的scope属性指定其作用域

<bean id="account" class="com.ttpfx.domain.Account" scope="prototype"/>
  • singleton:在Spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,默认值
  • prototype:每次调用getBean时创建一个新的实例
  • request:每次HTTP请求都会创建一个新的Bean,该作用域仅适用于WebApplicationContext环境
  • session:同一个HTTP Session共享一个Bean,不同Session使用不同的Bean,仅适用于WebApplicationContext环境
  • global-session:一般用于Portlet应用环境,该作用域仅适用于WebApplicationContext环境

Spring基于XML的IoC的更多相关文章

  1. 阶段3 2.Spring_03.Spring的 IOC 和 DI_3 spring基于XML的IOC环境搭建和入门

    创建新项目 修改为jar包的方式 把上一个工程内的代码 java下的com复制过来 由于配置文件没有,所以一运行就会报错 factory文件夹整个删除 dao的实现类 这里删除 测试类保留这两行代码 ...

  2. Spring基于XML的IOC环境搭建及入门

    一.使用Maven构建Java项目 * 项目目录结构 1. 在sun.service包下创建UserDao接口和接口实现类: UserDao接口: package sun.service; /** * ...

  3. spring基于xml的IOC环境搭建和入门

    配置pom.xml的依赖 <packaging>jar</packaging> <dependencies> <dependency> <grou ...

  4. Spring 框架的概述以及Spring中基于XML的IOC配置

    Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...

  5. 01Spring基于xml的IOC配置--入门

    01Spring基于xml的IOC配置 1.创建一个普通的maven工程 1.1 选择maven,不用骨架,点击下一步. 1.2 填写GroupId.ArtifactId.Version.填完点击下一 ...

  6. spring基于xml的声明式事务控制配置步骤

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  7. spring 基于xml的申明式AspectH中的后置通知的返回值获取

    spring 基于xml的申明式AspectH中的后置通知的返回值获取 1. 配置文件 <aop:config> <aop:aspect ref="myAspect&quo ...

  8. spring 基于XML的申明式AspectJ通知的执行顺序

    spring 基于XML的申明式AspectJ通知的执行顺序 关于各种通知的执行顺序,结论:与配置文件中的申明顺序有关 1. XML文件配置说明 图片来源:<Java EE企业级应用开发教程&g ...

  9. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring基于XML装配Bean

    Bean 的装配可以理解为依赖关系注入,Bean 的装配方式也就是 Bean 的依赖注入方式.Spring 容器支持多种形式的 Bean 的装配方式,如基于 XML 的 Bean 装配.基于 Anno ...

随机推荐

  1. ES2015 (ES6) 新特性: 20 个

    ES2015 (ES6) 新特性 http://babeljs.io/docs/learn-es2015/ Learn ES2015 A detailed overview of ECMAScript ...

  2. Kotlin 入门教程

    Kotlin 入门教程 Android / Java https://developer.android.com/kotlin?hl=zh-cn 使用 Kotlin 开发 Android 应用 使用 ...

  3. module patterns

    module patterns ebooks https://github.com/xyzata/2017-new-ebooks/blob/master/Succinctly/modulepatter ...

  4. UX & feedback & instant visual feedback

    UX & feedback & instant visual feedback Select an element on the page https://ant.design/com ...

  5. css & focus-within & pseudo class

    css & focus-within & pseudo class demo :focus-within https://developer.mozilla.org/en-US/doc ...

  6. css命名规范和书写规范

    1.位置属性(position, top, right, z-index, display, float等)2.大小(width, height, padding, margin)3.文字系列(fon ...

  7. 全网算力总量暴增,SPC能否成为币圈新宠?

    据最新数据显示,在经历了本周初(1月11日)的下跌之后,比特币市场在本周四(1月14日)终于出现了反弹并试图突破4万美元,重新向4万美元上方发起挑战. 这也让加密市场的生态建设者重拾信心,重新对数字货 ...

  8. Union international INC:VR线下娱乐市场巨大

    联合国际公司认为众多企业追着VR的风口不断加码,导致VR在经历了一个爆炸式的发展,如今部分VR公司开始觉得日子不好过了,一个重要表现就是现金流紧张.VR如何能够普及,何时能够及早变现,成为业内关注的焦 ...

  9. Masterboxan INC是你靠近财富的最佳选择

    Masterboxan INC万事达资产管理有限公司(公司编号:20151264097)是一家国际性资产管理公司,主要提供外汇.证券.投资管理和财富管理等金融服务,其在投资方面一直倡导组合型投资构建稳 ...

  10. Gateway网关

    前提要在注册中心把网关和服务都进行注册 通俗来说,网关就是指在客户端和服务端的一面墙,这面墙有请求转发,负载均衡,权限控制,跨域,熔断降级,限流保护等功能. 客户端发送请求,请求先通过网关,网关根据特 ...