Контекст java-приложения. возможно ли в этом разобраться?
Доброго дня, уважаемые господа-разработчики
пытаюсь разобраться с понятием контекста java-приложения, смотрел разные пояснение в интернете, но они больше запутывают, чем проясняют. подскажите, сильно ли я ошибаюсь в понимании. может у Вас есть понятные определения интерфейса?
возьмем для примера одно из определений "однажды возникла идея о том, что у всего должно быть имя (в виде строки). Чтобы получить доступ к объекту по имени, необходимо иметь некоторый интерфейс, а именно, Context. То есть контекст - это интерфейс, который позволяет по данной строке получить объект. "
из цитаты вообще непонятно с чего вообще возникла необходимость создания контекстов и в чем реальное преимущество от их применения. зачем нужно имя в виде строки. при чем тут интерфейс к получению доступа? как я понимаю доступ можно получить через конкретный объект типа интерфейс, а не через сам интерфейс.
А я вместо Reflection API вижу конкретный такой Spring, с его IoC. И так, что же такое контекст. Ну приложение это в принципе и есть контекст (ApplicationContext). И данный контекст (контейнер и т.п.) может Вам по имени отдать какой-то объект (Bean). Т.е. при старте приложения (контекста) это приложение (контекст) сканирует classpath на наличие объектов, которыми он сможет оперировать (Bean's), собссно по-этому он всех их знает по именам, и по этим именам может Вам их отдать. Там конечно есть нюансы, но если кратко, то все. И да, это работает через Reflection API.