Bean元素

Bean元素进阶

scope属性:

1.singleton(默认值):单例对象.被标识为单例的对象在spring容器中只会存在一个实例
2.prototype:多例原型.被标识为多例的对象,每次再获得才会创建.每次创建都是新的对象.整合struts2时,ActionBean必须配置为多例的.
3.request:web环境下.对象与request生命周期一致.
4, session:web环境下,对象与session生命周期一致.

生命周期属性

1.配置一个方法作为生命周期初始化方法.spring会在对象创建之后立即调用. init-method
2.配置一个方法作为生命周期的销毁方法.spring容器在关闭并销毁所有容器中的对象之前调用. destory-method(单例对象可以销毁,多例对象不会被销毁)

spring创建对象方式

1.空参构造方式

2.静态工厂(了解)

spring的分模块配置

练习代码:
xml

    <bean name="user" class="com.spring.bean.User"  scope="singleton" init-method="init" destroy-method="destroy"></bean>

User类

package com.spring.bean;public class User {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public void init(){System.out.println("初始化");}public void destroy(){System.out.println("銷毀");}
}

Test类

package com.test;import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.spring.bean.User;public class TestDemo {private  ClassPathXmlApplicationContext context;@Testpublic void testDemo() throws InterruptedException{context = new ClassPathXmlApplicationContext("applicationContext.xml");/*scope=prototype的javaBean在创建容器时候不会被创建*/User bean = (User)context.getBean("user");//User bean1 = (User) context.getBean("user");//System.out.println(bean==bean1);bean.setName("DreamZuora");bean.setAge(18);System.out.println(bean);/*单例对象可以销毁,多例对象不会被销毁*/context.close();}}

spring配置讲解相关推荐

  1. 超全、超详的Spring Boot配置讲解笔记

    超全.超详的Spring Boot配置讲解笔记 springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改. application.prop ...

  2. Spring整合Mongodb,Maven的依赖,Spring配置,MongoDB的公共操作类,使用SpringMVC的Controller进行测试并返回结果的案例

    在和Spring和MongoDB进行整合的时候需要如下三个jar,分别是: spring-data-commons spring-data-mongodb mongo-java-driver 下面讲解 ...

  3. java spring配置类_spring 配置 Java配置类装配bean

    https://www.cnblogs.com/chenbenbuyi/p/8457700.html 自动化装配的确有很大的便利性,但是却并不能适用在所有的应用场景,比如需要装配的组件类不是由自己的应 ...

  4. Nacos教程_4 配置讲解

    教程原稿 https://gitee.com/fakerlove/joker-nacos 文章目录 4. 配置讲解 4.1 dataid 配置讲解 4.2 实现自动装填 4. 配置讲解 4.1 dat ...

  5. 基于SSM + MySQL的服饰服装购物平台系统的设计与实现源码+论文+包安装配置+讲解视频

    下载:https://download.csdn.net/download/nike8x/83598568 项目介绍: 基于SSM + MySQL的服饰服装购物平台系统的设计与实现源码+论文+包安装配 ...

  6. 521我发誓读完本文,再也不会担心Spring配置类问题了

    生命太短暂,不要去做一些根本没有人想要的东西.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习 ...

  7. Spring 配置JNDI(连接池)

    1. 找到Tomcat6.0安装目录下conf文件夹里的context.xml文件, 然后打开context.xml,在标签<context></<context>之间加 ...

  8. Spring配置iBatis多个SqlMapConfig.xml

    Spring粘合iBatis的时候需要配置iBatis的SqlMapConfig.xml 对于项目多个模块而又想同时能管理起来,普遍的单个SqlMapConfig.xml就会显得臃肿 可喜的是Spri ...

  9. Spring 配置标签——util标签

    Spring 配置标签--util标签 一.配置applicationContext.xml <beans xmlns="http://www.springframework.org/ ...

最新文章

  1. linux如何设置awesome字体,Awesome简单配置
  2. mysqldump全量恢复_mysql 备份与恢复(全量与增量)
  3. 基于以太坊的分布式投票系统solidity合约代码
  4. leetcode 482. 密钥格式化(Java版)
  5. JavaScript学习第一天(一)
  6. 自定义ViewPager实现3D画廊效果
  7. (很容易懂,你把代码复制粘贴即可解决问题)高等代数/线性代数-基于python实现矩阵法求解齐次方程组
  8. 金蝶数据库(质疑)解决方法
  9. 解灾转运方法,人人都很容易做得到!
  10. 【数据技术】关于HP Vertica MPP列式数据库资源池设置的一点心得
  11. 从前后端分离到前后端整合的“退步”(一)项目结构
  12. 《视觉SLAM十四讲》读书笔记(二)
  13. HbuilderX:uni app踩坑之uView-ui
  14. UE4移动组件详解(二)——移动同步机制
  15. java画板中画直线_java实现画图板上画一条直线
  16. 查询MySQL数据库中所有表的结构
  17. 读取db服务器信息出错,尝试读取foxpro dbf并获取错误:无法初始化链接服务器的OLE DB提供程序“MSDASQL”的数据源对象“(空)”...
  18. Android 8.0 系统编译解决卡在Ensuring Jack server is installed and started
  19. 前端发展历程,前端路由和后端路由,到底有什么区别?
  20. WordPress版微信小程序开发系列(二):安装使用问答

热门文章

  1. python汉诺塔递归算法_Python文摘:汉诺塔问题与递归算法
  2. 多元相关性分析_研究 | 精神分裂症症状与超氧化物歧化酶相关性的性别差异
  3. 深入理解计算机系统第四版_深入理解计算机系统之存储器层次结构
  4. 猎户座计划软件测试,四核配置跑分:猎户座4412性能强劲_平板电脑评测-中关村在线...
  5. Java学习的5个阶段,助大家步步攀升
  6. php链接本地mysql数据库配置文件_php连接 mysql 数据库如何添加一个公共的配置文件...
  7. 操作系统进程间通信 --- IPC
  8. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计.doc
  9. 基于matlab的fisher线性判别及感知器判别_基于嵌入表示的网络实体对齐方法进展概述...
  10. linux 到文件的最后一行,linux – 将第一行复制到文件中的最后一行