Spring, trabajando con @Configuration y @Bean anotaciones.

Tengo un código:

@Configuration
public class BeanSample {

    @Bean(destroyMethod = "stop")
    public SomeBean someBean() throws Exception {
        return new SomeBean("somebean name1");
    }


    class SomeBean {

        String name;

        public SomeBean(String name) {
            this.name = name;
        }

        public void stop() {
            System.out.println("stop");
        }
    }

    public static void main(String[] args) throws Exception {

        BeanSample beanSample = new BeanSample();
        SomeBean someBean1 = beanSample.someBean();

        ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
                new String[] {"appContext.xml"});

        SomeBean someBean2 = (SomeBean) appContext.getBean("someBean");

        if (someBean1 == someBean2) System.out.println("OK");

    }
}

Estoy esperando, una vez que inicie la aplicación, BeanSample.getSomeBean () y, a continuación, SomeBean comenzará a estar disponible para 'someBean'.

Bu ahora tengo un error:No se define ningún bean denominado 'someBean'

En realidad, no entiendo qué contexto de aplicación debo usar para recoger mis beans.

Acerca de @Configuration:

¿Alguna razón, por qué debería usar la anotación de configuración aquí? (con este, mi IDE resalta mis clases como si estuvieran relacionadas con Spring en ese momento, así que debería tener sentido)

-OK: después de obtener una respuesta, mi código se ve así:

 public static void main(String[] args) throws Exception {

        AnnotationConfigApplicationContext appContext = new AnnotationConfigApplicationContext(BeanSample.class);

        SomeBean someBean2 = (SomeBean) appContext.getBean("someBean");

        if (someBean2 != null) System.out.println("OK");

    }

Respuestas a la pregunta(3)

Su respuesta a la pregunta