2016-09-03 6 views
0

Я нашел простую проблему и попрошу о помощи. Сообщение об исключении: Исключение, обнаруженное при инициализации контекста - отмена попытки обновления: org.springframework.beans.factory.CannotLoadBeanClassException: Не удается найти класс [factory] для bean-компонента с именем «us», определенным в ресурсе пути к ключу [beans.xml ]; вложенным исключением является java.lang.ClassNotFoundException: заводorg.springframework.beans.factory.CannotLoadBeanClassException

вот интерфейс: упаковка net.runze.spr1.factory;

public interface Person { 
    public void testBeing(); 
} 

здесь класс сп

package net.runze.spr1.factory; 

public class CN implements Person { 

    @Override 
    public void testBeing() { 
     System.out.println("china"); 
    } 

} 

здесь является класс нас:

package net.runze.spr1.factory; 

public class US implements Person { 

    @Override 
    public void testBeing() { 
     System.out.println("lalalala US"); 
    } 

} 

здесь является завод:

package net.runze.spr1.factory; 

public class PersonFactory { 
    public Person getPerson(String arg) { 
     if ("cn".equalsIgnoreCase(arg)) { 
      return new CN(); 
     } else { 
      return new US(); 
     } 
    } 
} 

вот мой XML

<bean id="factory" class="net.runze.spr1.factory.PersonFactory"/> 

<bean id="cn" 
     factory-bean="factory" 
     factory-method="getPerson"> 
    <constructor-arg value="cn"></constructor-arg> 
</bean> 

<bean id="us" 
     class="factory" 
     factory-method="getPerson"> 
    <constructor-arg value="us"></constructor-arg> 
</bean> 

вот мой тестовый класс:

@Test 
public void instanceFactorytest1() { 
    ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); 

    Person b1 = context.getBean("cn", US.class); 
    Person b2 = context.getBean("us", US.class); 

    b1.testBeing(); 
    b2.testBeing(); 
} 

Большое спасибо

ответ

0

теперь я знаю. действительно глупый ~~ Я неправильно настроил его в файле xml

<bean id="us"...> this should be "factory-bean" not class. 

 Смежные вопросы

  • Нет связанных вопросов^_^