Bean在Spring中是可以代替xml文件的。Bean在@Configuration中被创建。 应用程序的配置通过AnnotationConfigApplication加载的。AnnotationConfigApplication可以使用register去注册一个类,AnnotationConfigApplication可以使用getBean去获取Object。
下面是相关源码
AppConfig.java
package cn.it1995.demo;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig {
@Bean(name = "entitlement")
public Entitlement entitlement(){
Entitlement ent = new Entitlement();
ent.setName("Entitlement");
ent.setTime(20);
return ent;
}
}
DemoApplication.java
package cn.it1995.demo;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class DemoApplication {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
Entitlement ent = (Entitlement)ctx.getBean("entitlement");
System.out.println(ent.getName());
System.out.println(ent.getTime());
System.out.println("-----------------------------------------------------------");
AppConfig appConfig = ctx.getBean(AppConfig.class);
Entitlement entitlement = appConfig.entitlement();
System.out.println(entitlement.getName());
System.out.println(entitlement.getTime());
}
}
Entitlement.java
package cn.it1995.demo;
public class Entitlement {
private String name;
private int time;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getTime() {
return time;
}
public void setTime(int time) {
this.time = time;
}
}
程序运行截图如下:
源码打包下载地址:
https://github.com/fengfanchen/Java/tree/master/AnnotationConfigApplicationContext