0

私は日食でこのアプリを書きましたが、動作します。しかし、スタンドアロン/コンソール アプリケーションとして展開すると、挿入した StartApp Bean が見つかりません。コードは次のとおりです。

メインアプリ:

@Component
public class StartApp {
    @Autowired
    private Processor proc;

    public StartApp() {
        System.out.println("Starting App!");
    }
    private void say() {
        proc.say();
    }
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        StartApp app = ctx.getBean(StartApp.class);
        app.say();
    }
}

サービス:

@Service
public class Processor {
    public Processor() {
        System.out.println("Processor initialized!");
    }
    public void say() {
        System.out.println("hello!");
    }
}

および applicationContext.xml:

<?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:context="http://www.springframework.org/schema/context" 
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.1.xsd">

    <context:component-scan base-package="test.spring.desktop"/>
</beans>

私はslf4jライブラリを含むすべての春のライブラリとロガーを入れました。コンソールコマンドの場合、これらを入力します:

java -cp lib/*:lib/spring-3.1/*:test-spring-desktop.jar test.spring.desktop.StartApp

次に、これらのエラーメッセージが表示されました:

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [test.spring.desktop.StartApp] is defined: expected single bean but found 0:
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:271)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1101)
        at test.spring.desktop.StartApp.main(StartApp.java:24)
4

1 に答える 1