В принципе можно было не заморачиваться с JSF, а показать на примере простого консольного приложения, хотя в данном случае не принципиально. Большое спасибо за такое развернутое и четкое описание спринговских аннотаций, это полезно.
Думаю, что стоит еще сказать про то, что на базе @Component, @Service, @Repository и @Controller можно определять свои аннотации, имена которых будут еще нагляднее, например @WebService.
Да, кажется разобрался. Почему-то если создать бин через AutowireCapableBeanFactory то требуется сеттер, если же создавать бин через ApplicationContext — то не требуется сеттер. Я так понимаю JSF работает именно с application context.
А где пролог, в чем интрига; почему нет послесловия? Статья очень похожа на ответ человека, которого спросили о чем книга, а он начал её пересказывать.
Я, конечно, понимаю, что в Java-мире спринг это стандарт de facto, но языком Java habr не заканчивается; почему не описать что такое Spring, почему сложно обойтись без него, какие проблемы он решает и какие создает.
Спринг описать полностью достаточно сложно, т.к. там много компонентов, а вот конкретно IoC наверное стоило бы описать, просто времени нету сейчас обо всем этом писать.
Spring IoC Annotation-based configuration на примере JSF