Я написал это приложение с затмением, и оно работает. Но когда я развертываю его как автономное/консольное приложение, он не может найти компонент StartApp, который я ввел. вот коды:Весна 3.1 аннотированная автоустановка на автономном приложении
Основной приложение:
@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)
Где и как ваш бит 'StartApp' определен? – bvulaj
его в той же папке. вот структура: /lib/spring-3.1/{all-spring3.1-lib} /Lib/{SLF4J-ЛИЭС} /test-spring-desktop.jar /старт-тест-весна-рабочий стол .sh –
извините за беспорядок на мой комментарий, im все еще пытается получить правильное форматирование в комментариях. –