spring中的@Bean是否一定要与@Configuration一起用
在使用spring的过程中,一直都看到写代码时@Bean总是与@Configuration一起使用,那么是否真的是使用@Bean一定需要@Configuration呢?? 查了很多资料,终于找到了。鉴于大部分国内查到的资料不没有关于这个问题的解释,即一篇博客记录下来,有同类疑惑的人可以看一下。
@Bean作用于方法上,想单独使用肯定是不可能的了,想想也知道,起码要扫描到类嘛(抛除配置文件方式,只说单纯在使用注解的情况),因此在需要在该类上使用@Component/@Configuration/@Service 等注解,@Service这种注解其实只是说在可读性上增加了,一般要使用@Bean时,不会用这类注解标注,毕竟没人在service类中写这种方法吧……,因此一般见过的就是两种@Component/@Configuration,那么区别在哪里呢??
网上找到的英文解释我给翻译一下(英语太烂,凑合看……):
上面这个小例子是从网上截取的一个图片,希望原作者不要打我……。
注意箭头指向,在一个@Bean标注的方法中,调用了另一个@Bean注释的方法。
现在是使用@Configuration注解,此时调用dataSource() 方法返回的是被Spring管理的单例Bean。
如果换做是@Component 注解,那么调用了dataSource() 方法返回的对象是执行这个方法返回的对象实例,而不是被spring管理的对象。
这就是差别所在。
spring中的@Bean是否一定要与@Configuration一起用的更多相关文章
- JSP访问Spring中的bean
JSP访问Spring中的bean <%@page import="com.sai.comment.po.TSdComment"%> <%@page import ...
- 传统javabean与spring中的bean的区别
javabean已经没人用了 springbean可以说是javabean的发展, 但已经完全不是一回事儿了 用处不同:传统javabean更多地作为值传递参数,而spring中的bean用处几乎无处 ...
- 1.2(Spring学习笔记)Spring中的Bean
一.<Bean>的属性及子元素 在1.1中我们对<Bean>有了初步的认识,了解了一些基本用法. 现在我们进一步理解<Bean>属性及子元素. 我们先来看下< ...
- spring扩展点之二:spring中关于bean初始化、销毁等使用汇总,ApplicationContextAware将ApplicationContext注入
<spring扩展点之二:spring中关于bean初始化.销毁等使用汇总,ApplicationContextAware将ApplicationContext注入> <spring ...
- 第2章 Spring中的Bean
2.1 Bean的配置 Bean本质是Java中的类.Spring可以被看做一个大型工厂,这个工厂的作用就是生产和管理Spring容器zho中的Bean.想在项目中使用这个工厂,就需要对Spring的 ...
- spring 中的 bean 是线程安全的吗?
spring 中的 bean 是线程安全的吗? Spring 不保证 bean 的线程安全. 默认 spring 容器中的 bean 是单例的.当单例中存在竞态条件,即有线程安全问题.如下面的例子 计 ...
- Spring 中的bean 是线程安全的吗?
结论: 不是线程安全的 Spring容器中的Bean是否线程安全,容器本身并没有提供Bean的线程安全策略,因此可以说Spring容器中的Bean本身不具备线程安全的特性,但是具体还是要结合具体sco ...
- spring(四):spring中给bean的属性赋值
spring中给bean的属性赋值 xml文件properties标签设置 <bean id="student" class="com.enjoy.study.ca ...
- Spring中与bean有关的生命周期
前言 记得以前的时候,每次提起Spring中的bean相关的生命周期时,内心都无比的恐惧,因为好像有很多,自己又理不清楚,然后看网上的帖子,好像都是那么一套,什么beanFactory啊,aware接 ...
随机推荐
- java 线程Thread.Sleep详解 Thread.Sleep(0)的作用(转载)
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢? 思考下面这两个问题: 1.假设现在是 2008-4-7 12:00:00.000,如果 ...
- Docker操作删除所有容器镜像
借鉴博客:https://www.cnblogs.com/yanyouqiang/p/8301856.html https://blog.csdn.net/wy_97/article/details/ ...
- C# Note20: 制作延时改变显示的标题栏
前言 在使用wpf构建一个窗体时,其中有这样一个功能,在保存数据或加载数据时,我们希望在改变标题栏的显示以标志当前保存成功的状态或者加载数据的名称信息,而且标题信息更新显示几秒后,再恢复到默认的状态. ...
- windows环境下的git安装及使用
昨天晚上,我用了一个半小时整github,为了便于他人能快速的安装使用,也为了回顾一下自己痛苦的过程,特意写下这篇博客.好的,让我们开始吧.... 我的环境:win10,msysgit1.9.4.0 ...
- js4
数组的解构赋值: 位置对象的解构赋值: 名称 // {}在解构赋值的时候,不能出现在一行的最前面,否则js解析器会把他当成一个代码块,加()({a, b} = obj),告诉他这个仅仅是一个解构语句 ...
- SpringMVC中对多部件类型解析---文件(图片)上传
加入上传图片jar包 commons-io-2.4.jar commons-fileupload-1.3.jar 在页面form中提交enctype="multipart/form-data ...
- vue axios 封装(一)
封装一: 'use strict' import axios from 'axios' import qs from 'qs' import NProgress from 'nprogress' im ...
- java split(regex,limit) 使用记录
1.split(“,”,0):是切割默认模式等同于split(",")结尾符合分割字符为空不进行进行分割,如图: 2.split(",",-1):limit参数 ...
- Atcoder Beginner Contest 121 D - XOR World(区间异或和)
题目链接:https://atcoder.jp/contests/abc121/tasks/abc121_d 题目很裸(Atcoder好像都比较裸 就给一个区间求异或和 n到1e12 肯定不能O(n) ...
- Pearls POJ - 1260 dp
题意:有n种不同的珍珠 每种珍珠的价格不同 现在给出一个采购单 标注了需要不同等级的珍珠和相对于的个数(输入按价格升序排列) 其中 价格为 (当前种类价格+10)*购买数量 这样就有一种诡异的 ...