码迷,mamicode.com
首页 > 其他好文 > 详细

自动化装配Bean(一)

时间:2019-05-19 17:00:36      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:test   static   自动化   out   art   port   bean   pac   import   

一、创建 CompactDisc接口和SgetPeppers实现类

  CompactDisc接口方法为播放。SgtPeppers实现CompactDisc接口。

1 package soundsystem;
2 
3 public interface CompactDisc {
4   void play();
5 
6 }
 1 package soundsystem;
 2 
 3 import org.springframework.stereotype.Component;
 4 //component为spring中bean扫描标识
 5 @Component
 6 public class SgtPeppers implements CompactDisc {
 7 
 8   private String title = "歌德";  
 9   private String artist = "gede";
10   
11   public void play() {
12     System.out.println("Playing " + title + " by " + artist);
13   }
14 
15 }

二、启用spring组件扫描

  1、通过java配置启用

    添加 @Configuration @ComponentScan 两个注解即可。

    【注】使用ComponentScan时,若配置文件和bean在同一个包,省略基础包备注也可以。

1 package soundsystem;
2 import org.springframework.context.annotation.ComponentScan;
3 import org.springframework.context.annotation.Configuration;
4 
5 @Configuration
6 @ComponentScan("soundsystem")
7 public class JavaConfig {
8 
9 }

 

  2、通过xml配置启用:<context:component-scan base-package="soundsystem"></context:component-scan>  如果没有自动提示或者报错,在namespace中添加context配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

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

</beans>

三、编写测试类,并运行

  1、创建test包,分别通过java配置和xnl配置实现测试

    java配置为:AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(soundsystem.JavaConfig.class);

    xml配置为:ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml");

 1 package test;
 2 
 3 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
 4 import org.springframework.context.support.ClassPathXmlApplicationContext;
 5 import soundsystem.CompactDisc;
 6 import soundsystem.SgtPeppers;
 7 
 8 public class Test {
 9     public static void main(String[] args) {
10     //基于java类中配置上下文
11     //AnnotationConfigApplicationContext context = 
12             new AnnotationConfigApplicationContext(soundsystem.JavaConfig.class); 
13     //基于xml配置上下文
14     ClassPathXmlApplicationContext context =
15             new ClassPathXmlApplicationContext("applicationContext.xml");
16     
17     CompactDisc cd=context.getBean(SgtPeppers.class);
18     cd.play();
19     }
20 }

 

自动化装配Bean(一)

标签:test   static   自动化   out   art   port   bean   pac   import   

原文地址:https://www.cnblogs.com/gede/p/10889762.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!