Tengo una aplicación web con resorte 3.0. Necesito ejecutar una clase con el método principal de un cron que usa beans definidos en appcontext xml (usando annocations de exploración de componentes). Tengo mi clase principal en el mismo directorio src. ¿Cómo puedo inyectar frijoles desde el contexto web en el método principal? Traté de hacerlo utilizandoinyección de Spring Bean en un método principal clase
ApplicationContext context = new ClassPathXmlApplicationContext("appservlet.xml");
He intentado utilizar AutoWired y devuelve un grano nula. Entonces usé Application ctx y esto está creando un nuevo contexto (como se esperaba) cuando ejecuto el método principal. Pero es posible que pueda usar beans existentes del contenedor.
@Autowired
static DAO dao;
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("xman- servlet.xml");
TableClient client = context.getBean(TableClient.class);
client.start(context);
}
Para lectores futuros, una pregunta estrechamente relacionada: http://stackoverflow.com/questions/3659720/spring-3-autowire-in-standalone-application – Jonik