网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/10/8 浏览:3 次 )

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可以按照名字进行装配。

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

上一篇:Spring MVC自定义日期类型转换器实例详解
下一篇:JSP中九大内置对象和四种属性范围详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?