Spring框架开发scope作用域分析总结
目录
- 1.scope 作用域
- 2.Idea中默认为singleton
1.scope 作用域
Spring 管理的 bean 是根据 scope 来⽣成的,表示 bean 的作⽤域,共4种,默认值是 singleton。
singleton:单例,表示通过 IoC 容器获取的 bean 是唯⼀的。(即可以理解成即时加载)
prototype:原型,表示通过 IoC 容器获取的 bean 是不同的。(需要用到的时候去创建)
request:请求,表示在⼀次 HTTP 请求内有效。
session:回话,表示在⼀个⽤户会话内有效。
request 和 session 只适⽤于 Web 项⽬,⼤多数情况下,使⽤单例和原型较多。
prototype 模式当业务代码获取 IoC 容器中的 bean 时,Spring 才去调⽤⽆参构造创建对应的 bean。
singleton 模式⽆论业务代码是否获取 IoC 容器中的 bean,Spring 在加载 spring.xml 时就会创建 bean。
2.Idea中默认为singleton
以上就是Spring框架开发scope作用域分析总结的详细内容,更多关于Spring框架scope作用域的资料请关注我们其它相关文章!
相关推荐
-
浅谈spring中scope作用域
今天研究了一下scope的作用域.默认是单例模式,即scope="singleton".另外scope还有prototype.request.session.global session作用域.scope="prototype"多例.再配置bean的作用域时,它的头文件形式如下: 如何使用spring的作用域: <bean id="role" class="spring.chapter2.maryGame.Role" s
-
如何在Spring中自定义scope的方法示例
大家对于 Spring 的 scope 应该都不会默认.所谓 scope,字面理解就是"作用域"."范围",如果一个 bean 的 scope 配置为 singleton,则从容器中获取 bean 返回的对象都是相同的:如果 scope 配置为prototype,则每次返回的对象都不同. 一般情况下,Spring 提供的 scope 都能满足日常应用的场景.但如果你的需求极其特殊,则本文所介绍自定义 scope 合适你. Spring 内置的 scope 默认时,所
-
Spring注解@Scope原理及用法解析
主要从以下几方面来介绍一下@Scope注解 @Scope注解是什么 @Scope注解怎么使用 @Scope注解的使用场景 1,@Scope注解是什么 @Scope注解是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例).prototype(多例),Web 作用域(reqeust.session.globalsession),自定义作用域 a.singleton单例模式 -- 全局有且仅有一个实例 b.prototype原
-
Spring框架开发scope作用域分析总结
目录 1.scope 作用域 2.Idea中默认为singleton 1.scope 作用域 Spring 管理的 bean 是根据 scope 来⽣成的,表示 bean 的作⽤域,共4种,默认值是 singleton. singleton:单例,表示通过 IoC 容器获取的 bean 是唯⼀的.(即可以理解成即时加载) prototype:原型,表示通过 IoC 容器获取的 bean 是不同的.(需要用到的时候去创建) request:请求,表示在⼀次 HTTP 请求内有效. session:
-
Spring框架开发IOC两种创建工厂方法详解
1.IOC有两种创建工厂的方法 IoC 通过工厂模式创建 bean 的方式有两种: 静态工厂方法 实例工厂方法 2.两种方法的不同 2.1静态方法创建 就是直接可以通过静态方法来实例化一个对象,采用类名.方法名的方式创建 public class HelloFactory { public static HelloWorld getInstance(){ return new Hello(); } } HelloWorldFactory.getInstance(); 2.2实例方法创建 采用ne
-
分析Spring框架之设计与实现资源加载器
目录 一.前言 二.目标 三.设计 四.实现 4.1.工程结构 4.2.资源加载接口定义和实现 4.3.包装资源加载器 4.4.Bean定义读取接口 4.5.Bean定义抽象类实现 4.6.解析XML处理Bean注册 五.测试 5.1.事先准备 5.2.配置文件 5.3.单元测试(资源加载) 5.4.单元测试(配置文件注册Bean) 六.总结 一.前言 你写的代码,能接的住产品加需求吗? 接,是能接的,接几次也行,哪怕就一个类一片的 if...else 也可以!但接完成什么样可就不一定了,会不会
-
使用springmvc运行流程分析,手写spring框架尝试
目录 1.配置阶段 2.初始化阶段 3.运行阶段 springMVC介绍以及执行流程 什么是SpringMVC? SpringMVC的优势是什么? 该文章主要是分析Springmvc启动的流程(配置阶段.初始化阶段和运行阶段),可以让自己对spring框架有更深一层的理解.对框架比较感兴趣的朋友都可以了解阅读下,对于我所描述的内容有错误的还望能不吝指出. 对于springmvc中的整个流程我个人把他分为这几个阶段,包括个人手写的spring也是参照此按阶段实现: 1.配置阶段 根据web.xml
-
Java Spring框架的注解式开发你了解吗
目录 1.Spring框架的注解式开发 1.1开启注解扫描配置 1.2实例化相关注解 1.3控制对象的创建次数的注解 1.4注入相关的注解 1.5控制事务的相关注解 总结 1. Spring框架的注解式开发 # Spring框架的注解式(Annotation)开发 1. 注解式开发 定义:通过Spring框架提供的一系列注解来完成项目中快速开发 注解:Annotation是java中一种特殊的类 类似于interface 使用时:@注解类名(属性=参数) @Param(Mybatis中做参数绑定
-
Spring框架基于注解开发CRUD详解
Spring框架基于注解开发CRUD,供大家参考,具体内容如下 1. Maven坐标 <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId>
-
Laravel5.1 框架模型查询作用域定义与用法实例分析
本文实例讲述了Laravel5.1 框架模型查询作用域定义与用法.分享给大家供大家参考,具体如下: 所谓的查询作用域就是允许你自定义一个查询语句 把它封装成一个方法. 1 定义一个查询作用域 定义查询作用域就是在模型中声明一个scope开头的方法: public function scopeHotArticle($query) { return $query->orderBy('comment_count','desc')->first(); } 然后可以这样使用: public functi
-
Java Mybatis框架多表操作与注解开发详解分析
目录 一对一查询 多对多查询 Mybatis的注解开发 Mybatis的增删查改 MyBatis的注解实现复杂映射开发 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户. 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 一对一查询的语句 对应的sql语句: select * from orders o,user u where o.uid=u.id;查询的结果如下: 创建Order和User实体 创建OrderMapper接口 p
-
Spring框架AOP面向切面编程原理全面分析
目录 1.什么是AOP AOP面向切面的优势 AOP需要添加的依赖 2.简述AOP工作运行原理 动态创建的总结: 3.使用Spring创建AOP 测试类 Spring.xml 1.什么是AOP AOP:Aspect Oriented Programming ⾯向切⾯编程. AOP面向切面的优势 降低模块之间的耦合度. 使系统更容易扩展. 更好的代码复⽤. ⾮业务代码更加集中,不分散,便于统⼀管理. 业务代码更加简洁存粹,不参杂其他代码的影响. AOP 是对⾯向对象编程的⼀个补充,在运⾏时,动态地
随机推荐
- 后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
- mssql转换mysql的方法小结
- vue.js语法及常用指令
- Windows下安装python MySQLdb遇到的问题及解决方法
- asp.net 继承自Page实现统一页面验证与错误处理
- JavaScript实现控制打开文件另存为对话框的方法
- wiki-shan写的php在线加密的解密程序
- python读写文件操作示例程序
- Android仿Win8界面开发
- Javascript数组中push方法用法分析
- iis7下url重写后已存在的html不能访问了的解决方法
- java 中的static关键字和final关键字的不同之处
- php实现文章置顶功能的方法
- JavaScript代码执行的先后顺序问题
- 对numpy中轴与维度的理解
- JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
- 在Linux中使用history命令的方法
- 详解VUE中常用的几种import(模块、文件)引入方式
- dotnet如何将文件删除到回收站
- C#访问C++动态分配的数组指针(实例讲解)