@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 注解相关推荐

  1. Spring学习笔记——@Configuration和@Bean注解

    前言 在Spring框架中,有两种对容器的配置和启动方式,一种是基于XML文档的配置方式,一种则是"零配置",即Java Based Configuration. 而在零配置中,最 ...

  2. @Configuration和@Bean注解详解

    本文来详细说下@Configuration和@Bean注解 文章目录 @Configuration注解 @Bean注解 @Configuration注解 @Configuration注解源码 pack ...

  3. Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明

    为什么80%的码农都做不了架构师?>>>    使用spring的这几个配置,可以将旧<xml>配置形式完全使用Java实现,也可以和<xml>嵌套使用. @ ...

  4. 详细讲解Spring中的@Bean注解

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_42140261/ article/details/104864333 随着SpringBoot的流行,我们现在更 ...

  5. @Configuration和@Bean注解

    一.@Configuration注解用来提供创建Bean的环境,@Bean写在方法上用于创建bean: <?xml version="1.0" encoding=" ...

  6. Spring常用的的注解对应xml配置详解

    @Component(value="")注解:组件 标记在类上,也可以放在接口上 注解作用:把AccountDao实现类对象交由Spring IOC容器管理 相当于XML配置文件中 ...

  7. SpringBoot配置@PropertySource、@ImportResource、@Bean注解

    引言 @ConfigurationProperties 与@Bean结合为属性赋值 与@PropertySource(只能用properties文件)结合读取指定文件 @Validation 支持使用 ...

  8. 【Spring注解系列01】@Configuration与@Bean

    1. @Configuration与@Bean @Configuration: 告诉Spring这是一个配置类,配置类==配置文件. @Configuration==beans.xml @Bean: ...

  9. [转]Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域

    1.@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文) package com.test.s ...

最新文章

  1. 最精简写法→去掉任意多个空行
  2. 独家 | 手把手教你使用OpenCV库(附实例、Python代码解析)
  3. bd3.2 Python高级
  4. 骑手困在系统里,网友困在回应里,而王兴正在刷饭否
  5. centos7 搭建vsftpd服务并锁定用户的家目录
  6. 解决413 Request Entity Too Large
  7. 妙用世界之窗浏览器的隐私保护功能
  8. 开源翻译公告 2020.10.26:新上线了几个文档
  9. python精确匹配字符串_Python: 字符串搜索和匹配,re.compile() 编译正则表达式字符串,然后使用match() , findall() 或者finditer() 等方法...
  10. 测绘工程野外测量实践实习
  11. 放苗机器人_智能化种植系统所用苗盘摆收机器人的制作方法
  12. Linux系统下的JDK_11下载安装与环境配置
  13. Mac Finder不显示侧边栏
  14. arm开发板上电设置静态ip_Tiny4412友善之臂ARM开发板静态IP设置(重启有效)
  15. TensorFlow 卷积神经网络之猫狗识别
  16. 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用
  17. E1000 与 VMXNET3的 区别
  18. (一)改掉这些坏习惯,还怕写不出健壮的代码?
  19. vue实现手机通讯录效果
  20. c语言-选手评分系统

热门文章

  1. hashMap put方法 第二行代码
  2. AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密
  3. oracle用户创建和授权(一)
  4. java web服务器tomcat介绍【转载】
  5. python代码 程序员编程艺术 2.1
  6. 一篇很形象的文章,什么是数字签名?
  7. Doctrine官方手册 - 缓存
  8. 【设计模式】加薪非要老总批 --- 职责链模式
  9. Oracle10g数据库归档与非归档模式下的备份与恢复
  10. Oracle 查看 对象 持有锁的情况