IoC - это хорошо, но, если он используется с автоматическим подключением (@EJB, @Autowired, @Inject, @SpringBean ...), вам не кажется ограничить цель IoC?
На самом деле я не так много знаю об автоматических системах подключения в разных фреймворках, но кажется, что это в основном основано на типах.
Когда вы используете @EJB в IService, вам нужно иметь только один реализация ServiceImpl, чтобы заставить его работать. Например, в Stripes вы можете: @SpringBean ("xxxService") Где xxxService - это bean-компонент, инициализированный Spring.
В таком случае, хорошо, вы не выполняете «new XxxServiceImpl ()» Но вы все равно помещаете жестко запрограммированную ссылку на реализацию службы, которую хотите использовать в своем компоненте. Это просто не ссылка на класс, а ссылка на Spring bean-компонент на реализацию ...
Что вы думаете об этом? Я люблю электромонтаж, но сам удивляюсь ....