Spring中如何装配Bean
在Spring中,对象无需自己查找或者创建与它相关联的其他对象,由容器负责将需要相互协作的对象引用传递给各个对象。容器所做的这个工作就是依赖注入的本质,这是Spring提供的最基本的功能。
Spring是一个基于容器的框架,如果没有配置,它就是一个没有任何作用的空容器。从Spring3.0开始,Spring提供了两种配置Bean的方式:使用XML文件配置和使用注解配置。
表1 Spring核心框架自带的xml命名空间
命名空间 | 用途 |
---|---|
aop | 为声明切面以及将@AspectJ注解的类代理为Spring切面提供了配置元素 |
beans | 声明bean和装配bean |
context | 配置Spring应用上下文,自动检测、自动装配bean,注入非Spring直接管理的对象 |
jee | 提供了与java ee API的集成,例如JNDI和EJB |
jms | 为声明消息驱动的pojo提供了配置元素 |
lang | 支持由Groovy、JRuby和BeanShell等脚本实现的bean |
mvc | 启用Spring MVC |
oxm | 支持Spring的对象到xml映射配置 |
tx | 提供声明式事务配置 |
util | 提供工具类元素 |
实例:
整个工程在github上:https://github.com/simon166/demo/tree/master/springAction
一个Performer接口:
package springAction;
public interface Performer {
void perform();
}
一个Juggler类实现了Performer接口:
package springAction;
public class Juggler implements Performer{
private int beanBags = 3;
public Juggler(){
}
public Juggler(int beanBags){
this.beanBags = beanBags;
}
public void perform(){
System.out.println("Juggling " + beanBags + " beanbags");
}
}
一个 PoeticJuggler类继承了Juggler类:
package springAction;
public class PoeticJuggler extends Juggler {
private Poem poem;
public PoeticJuggler(Poem poem){
super();
this.poem = poem;
}