在spring当中,一般来讲,将一个bean注入到spring容器当中,除了使用xml文件进行配置之外,还可以使用java代码进行配置。
- 创建maven项目,导入包
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
- 当前有这个一个bean
Book.java
@Data
public class Book {
private Integer id;
private String name;
private String address;
}
- 将Book这个实体类注入到spring当中:
创建一个配置文件Cogfig.java:
@Configuration
public class Config {
@Bean
Book book(){
return new Book();
}
}
其中的@Configuration表示当前类不是一个普通的类,而是一个配置类,相当于application.xml, @Bean这表示返回一个bean对象,相当于配置文件当中的bean节点,那这个bean的名字是什么,默认就是这个方法的名称,上面的bean的名称就是book,如果你想要修改名称的,可以在@Bean后面设置一个名字,如:@Bean(mybook)
- 最后我们来测试一下:
@Test
public void test(){
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
Object book = context.getBean("book");
System.out.println(book);
}
加载的是这个配置类的class,Bean的名称为boo,测试结果为