来源W3school
首先知道,spring中配置可用xml文件以及java文件,xml文件可以胜任各种配置,但java也可胜任大部分的spring工作
故简短叙述java文件配置的用法。
@Configuration注解与@Bean注解
带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
package com.tutorialspoint;
import org.springframework.context.annotation.*;
@Configuration
public class HelloWorldConfig {
@Bean
public HelloWorld helloWorld(){
return new HelloWorld();
}
}
//等同于下面,带有 @Bean 的注解方法将返回一个对象
<beans>
<bean id="helloWorld" class="com.tutorialspoint.HelloWorld" />
</beans>
当@Bean依赖时
package com.tutorialspoint;
import org.springframework.context.annotation.*;
@Configuration
public class AppConfig {
@Bean
public Foo foo() {
return new Foo(bar());
}
@Bean
public Bar bar() {
return new Bar();
}
}
return方法中添加依赖即可
上下文注册方法
ApplicationContext ctx =
new AnnotationConfigApplicationContext(TextEditorConfig.class);
Import注解
生命周期回调
@Bean 注解支持指定任意的初始化和销毁的回调方法
public class Foo {
public void init() {
// initialization logic
}
public void cleanup() {
// destruction logic
}
}
@Configuration
public class AppConfig {
@Bean(initMethod = "init", destroyMethod = "cleanup" )
public Foo foo() {
return new Foo();
}
}