spring annocation 注入

public class UserImpl {
	public void showInfo(){
		System.out.println("我被别人注入了........");
	}
}


public class UserAction {
	
	private UserImpl ui = null;

	public UserImpl getUi() {
		return ui;
	}
	
	@Autowired
	public void setUi(UserImpl ui) {
		this.ui = ui;
	}
	
	public void useUser(){
		ui.showInfo();
	}

}


声明式注解,使用AAutowired可以自动到容器内部查找对应的属性
默认是根据bytype类型来查找,如果有两个同样类型的会抛异常
可以使用 @Qualifier("dao")指定bean的名称这样可以避免歧义性,如果写在set方法上的时候,需要写到参数和前边
同样可以使用@Required进行编码检查,这样的话如果有问题可以在编译的过程中检查出问题,这个是默认检查在容器初始化的时候有没有对应的类型已经被创建

配置自动扫描
<context:component-scan base-package="cn.bo"/>
会自动寻找annocation为
@Component自动注入,可以指定@Component("dao")名称,也可以使用默认的

自动注入到容器还可以使用@Repository数据层,@Service业务层,@Controller控制层来指定注入,概念同@Component是一样的
可以通过@Scope指定类型比如proptype
也可以使用@Postcontruct在初始化时处理
或者@PreDestory在类销毁的时候处理事件

你可能感兴趣的:(DAO,spring,UI,bean)