本文已参与「新人创作礼」活动,一起开启掘金创作之路。
关于spring声明和装配bean的一些总结
声明bean的三种方式
- JavaConfig方式-也就是使用@Configuration和@Bean注解配合
- XML方式
- spring隐式自动扫描
第一种JavaConfig模式
下面使用一个代码例子做解释
@Configuration
public class Config {
@Bean()
//这里可以使用工厂、静态方法、实例方法进行创建
public Object object() {
return null;
}
}
第二种XML模式
这里不做过多描述,这是一种比较传统的方式,维护老项目使用的较多,新项目建议使用JavaConfig模式
第三种使用spring隐式发现
使用例如@Component、@Controller等等spring或者springmvc的注解,下面给出个例子
@Component
public class Friend {
private int age;
private int sex;
private String name;
}
使用这种模式要注意开启组件扫描,可以使用@CompotentScan或者在xml配置文件中加上<context:component-scan>
上述介绍了三种声明spring bean的方式,我们可以测试一下,此处仅给出使用javaconfig模式创建的bean的测试demo
public class Test {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Config.class);
User user = (User) applicationContext.getBean(User.class);
System.out.println(user);
Friend friend = (Friend)applicationContext.getBean(Friend.class);
System.out.println(friend);
}
}
总结
以上是bean的声明,后续还有bean的依赖注入总结。