Поскольку ChangePasswordServiceImpl
не является классом, управляемым Spring (его нет в конфигурации xml, поэтому он не является частью ApplicationContext
) @Autowired
ничего не изменит для вашего класса, что приведет к тому, что вы получитеNullPointerException
когда вы пытаетесь использовать экземпляр класса.
Вы должны определить bean-компонент для ChangePasswordServiceImpl
в вашей конфигурации xml вместе с остальными, которые в данный момент существуют.
<bean id="changePasswordService" class="the.package.ChangePasswordServiceImpl"/>
Наконец, вы можете получить его через ApplicationContext
.
//assuming you are holding onto an instance of the ApplicationContext
ChangePasswordServiceImpl service = appContext.getBean("changePasswordService", ChangePasswordServiceImpl.class);
service.changePassword("old", "new");