Spring, работа с аннотациями @Configuration и @Bean

У меня есть код: я

@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");

    }
}

Я ожидаю, что после запуска приложения BeanSample.getSomeBean () затем SomeBean станет доступнымsomeBean.

Но теперь у меня есть ошибка:Боб не названsomeBean» определено

На самом деле, я не понимаю, какой контекст приложения я должен использовать, чтобы забрать мои бобы?

О @Configuration:

Любые причины, почему я должен использовать аннотацию @Configuration здесь? (с этим мой IDE выделяет мои классы, как тогда связанные с Spring, так что это должно иметь смысл)

-ОК: после того, как я получил ответ, мой код выглядит так:

 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");

    }

Ответы на вопрос(3)

Ваш ответ на вопрос