带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
参考如下代码:
package com.clzhang.spring.demo; import org.springframework.context.annotation.*; @Configuration public class HelloWorldConfig { @Bean public HelloWorld helloWorld(){ return new HelloWorld(); } }
上述代码等同于:
<beans> <bean id="helloWorld" class="com.clzhang.spring.demo.HelloWorld" /> </beans>
完整示范:
1. 创建实体类
package com.clzhang.spring.demo; public class HelloWorld { private String message; public void setMessage(String message) { this.message = message; } public void getMessage() { System.out.println("Your Message : " + message); } }
2. 创建业务类
package com.clzhang.spring.demo; import org.springframework.context.annotation.*; @Configuration public class HelloWorldConfig { @Bean public HelloWorld helloWorld(){ return new HelloWorld(); } }
3. 创建主程序
package com.clzhang.spring.demo; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.*; 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(); } }
4. 运行(不需要配置文件)
Your Message : Hello World!
本文参考:
https://www.w3cschool.cn/wkspring/tlbk1icp.html