Spring @Configuration 和 @Bean 注解
@Configuration 和 @Bean 注解
带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
例子如下:
HelloWorld.java
package com.how2java.w3cschool.baseonjava;public class HelloWorld {private String message;public void getMessage() {System.out.println("Your message is:" + message);}public void setMessage(String message) {this.message = message;}}
HelloWorldConfig.java
package com.how2java.w3cschool.baseonjava;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/** 带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。* @Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。*/ @Configuration public class HelloWorldConfig {// 带有 @Bean 注解的方法名称作为 bean 的 ID,它创建并返回实际的 bean。也就是此时的bean// id为helloWorld,你的配置类可以声明多个 @Bean。// 一旦定义了配置类,你就可以使用 AnnotationConfigApplicationContext 来加载并把他们提供给 Spring 容器 @Beanpublic HelloWorld helloWorld() {return new HelloWorld();} }
MainApp.java
package com.how2java.w3cschool.baseonjava;import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class MainApp {public static void main(String[] args) {ApplicationContext ctx = new AnnotationConfigApplicationContext(HelloWorldConfig.class);HelloWorld helloWorld = ctx.getBean(HelloWorld.class);helloWorld.setMessage("Hello World!");helloWorld.getMessage();}}
如果在HelloWorldConfig.java中忘了@Bean的注解,将会遇到以下的错误
“No unique bean of type [com.how2java.w3cschool.baseonjava.HelloWorld] is defined: expected single bean but found 0: ”
例子源于:W3Cschool,在此作记录
转载于:https://www.cnblogs.com/Guhongying/p/10600795.html
Spring @Configuration 和 @Bean 注解相关推荐
- Spring学习笔记——@Configuration和@Bean注解
前言 在Spring框架中,有两种对容器的配置和启动方式,一种是基于XML文档的配置方式,一种则是"零配置",即Java Based Configuration. 而在零配置中,最 ...
- @Configuration和@Bean注解详解
本文来详细说下@Configuration和@Bean注解 文章目录 @Configuration注解 @Bean注解 @Configuration注解 @Configuration注解源码 pack ...
- Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明
为什么80%的码农都做不了架构师?>>> 使用spring的这几个配置,可以将旧<xml>配置形式完全使用Java实现,也可以和<xml>嵌套使用. @ ...
- 详细讲解Spring中的@Bean注解
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_42140261/ article/details/104864333 随着SpringBoot的流行,我们现在更 ...
- @Configuration和@Bean注解
一.@Configuration注解用来提供创建Bean的环境,@Bean写在方法上用于创建bean: <?xml version="1.0" encoding=" ...
- Spring常用的的注解对应xml配置详解
@Component(value="")注解:组件 标记在类上,也可以放在接口上 注解作用:把AccountDao实现类对象交由Spring IOC容器管理 相当于XML配置文件中 ...
- SpringBoot配置@PropertySource、@ImportResource、@Bean注解
引言 @ConfigurationProperties 与@Bean结合为属性赋值 与@PropertySource(只能用properties文件)结合读取指定文件 @Validation 支持使用 ...
- 【Spring注解系列01】@Configuration与@Bean
1. @Configuration与@Bean @Configuration: 告诉Spring这是一个配置类,配置类==配置文件. @Configuration==beans.xml @Bean: ...
- [转]Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
1.@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文) package com.test.s ...
最新文章
- 最精简写法→去掉任意多个空行
- 独家 | 手把手教你使用OpenCV库(附实例、Python代码解析)
- bd3.2 Python高级
- 骑手困在系统里,网友困在回应里,而王兴正在刷饭否
- centos7 搭建vsftpd服务并锁定用户的家目录
- 解决413 Request Entity Too Large
- 妙用世界之窗浏览器的隐私保护功能
- 开源翻译公告 2020.10.26:新上线了几个文档
- python精确匹配字符串_Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法...
- 测绘工程野外测量实践实习
- 放苗机器人_智能化种植系统所用苗盘摆收机器人的制作方法
- Linux系统下的JDK_11下载安装与环境配置
- Mac Finder不显示侧边栏
- arm开发板上电设置静态ip_Tiny4412友善之臂ARM开发板静态IP设置(重启有效)
- TensorFlow 卷积神经网络之猫狗识别
- 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用
- E1000 与 VMXNET3的 区别
- (一)改掉这些坏习惯,还怕写不出健壮的代码?
- vue实现手机通讯录效果
- c语言-选手评分系统