欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP Spring 自动化装配Bean实例详解

程序员文章站 2023-11-29 18:08:52
spring 自动化装配bean 声明一张cd的接口: public interface compactdisc { public abstract...

spring 自动化装配bean

声明一张cd的接口:

public interface compactdisc {
  public abstract void play();
}

实现cd接口:

@component("sgtpeppers")
public class sgtpeppers implements compactdisc {
  private string title = "sgt.pepper's lonely hearts club band";
  private string artist = "the beatles";

  @override
  public void play() {
    system.out.println("playing" + title + " by " + artist);
  }
}

声明cdplayer:

@component("cdplayer")//表明该类作为组件类,没必要显示的配置bean实例,括号内为组件名
public class cdplayer {
  /*
  * @autowired注解可以用在构造器上,也可以用在set方法上,也能直接放在下列代码所示地方
  * spring会满足有该注解的依赖,如果只有一个bean匹配依赖需求的话,这个bean就会被装配进来
   @autowired 默认按类型装配
  * */
  @autowired
  private compactdisc cd;

  public compactdisc getcd() {
    return cd;
  }

  public void setcd(compactdisc cd) {
    this.cd = cd;
  }
  public void play(){
    cd.play();
  }
}

测试类:

public class cdplayertest {
  public static void main(string[] args) {
    applicationcontext context=new classpathxmlapplicationcontext("applicationcontext.xml");
    cdplayer cdplayer= (cdplayer) context.getbean("cdplayer");
    cdplayer.play();
  }
}

xml:自动扫描包,寻找有注解的类

<context:component-scan base-package="com.xue.soundsystem"></context:component-scan>

总结:@component:相当于xml的bean中添加其实例,括号内为id。@autowired会按类型寻找匹配的实例进行匹配。@resource可以按照名字进行装配。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!