Spring JavaConfig Bean
注入对象
Book接口
public interface Book {
}
Book接口的两个实现类JavaBook、SpringBook
public class JavaBook implements Book{
@Override
public String toString() {
return "JavaBook{}";
}
}
public class SpringBook implements Book{
@Override
public String toString() {
return "SpringBook{}";
}
}
创建配置类
//Configuration注解表明这是一个配置类
@Configuration
public class SpringJavaBeanConfig {
//Bean 和 xml 中 <Bean></Bean> 相同,用来声名一个Bean对象
//当不申明它的name(同xml中Bean的id)属性时,spring会对生成对象负名为首单词首字母小写,及JavaBook为javaBook。
@Bean
public Book javaBook(){
return new JavaBook();
}
@Bean(name="spring")
public Book springBook(){
return new SpringBook();
}
}
@Test
public void test04(){
AnnotationConfigApplicationContext acac = new AnnotationConfigApplicationContext(SpringJavaBeanConfig.class);
System.out.println("this is JavaBook:"+acac.getBean("javaBook", JavaBook.class));
System.out.println("this is SpringBook:"+acac.getBean("spring", SpringBook.class));
}
注入属性
通过构造方法
修改一下SpringBook对象添加bid、bname属性
private int bid;
private String bname;
通过构造方法注入属性SpringBook对象需要怎加有参构造
public SpringBook(int bid, String bname) {
this.bid = bid;
this.bname = bname;
}
配置类
@Bean(name = "spring")
public Book springBook(){
return new SpringBook(101,"spring");
}
测试方法
@Test
public void test04(){
AnnotationConfigApplicationContext acac = new AnnotationConfigApplicationContext(SpringJavaBeanConfig.class);
System.out.println("this is SpringBook:"+acac.getBean("spring", SpringBook.class));
}
通过setting方法
给SpringBook,添加属性的set方法
public void setBid(int bid) {
this.bid = bid;
}
public void setBname(String bname) {
this.bname = bname;
}
配置类
@Bean(name = "spring")
public Book springBook(){
SpringBook spring = new SpringBook(101, "spring");
spring.setBid(102);
spring.setBname("spring");
return spring;
}
测试方法
@Test
public void test04(){
AnnotationConfigApplicationContext acac = new AnnotationConfigApplicationContext(SpringJavaBeanConfig.class);
System.out.println("this is SpringBook:"+acac.getBean("spring", SpringBook.class));
}
Bean中的其他属性
initMethod,destroyMethod
总结
可以看出JavaConfig配置与XML配置有许多相似之处
结语
你好!^ _ ^ 谢谢你能看到这里
如果你对文章类容有不同看发或文章类容存在错误,请在下方评论处指出,谢谢^ _ ^
你好!如果文章符合你的胃口,你是否愿意点个赞呢?
你好!如果文章对你有帮助,你不妨分享出去,让更多人成长!
如果文章让你喜欢,不妨点个关注交个朋友,一起共同学习!
谢谢,你的点赞,关注,分享是对我写文章不小的动力!!!