#94 Ревью Spring-сервиса создания пользователя

Компании:
ОТП Банк
Темы:
SpringТранзакцииКод ревью

Сделать код-ревью сервиса:

Java
@Component
public class UserService2 {

    public int counter = 0;

    @Autowired
    private UserFactory userFactory;

    @Autowired
    private UserService userService;

    @Autowired
    private PermissionsServiceFeignClient remoteService;

    public void createUser() {
        remoteService.init();
        User user = userFactory.createUser();
        // do something else
        saveUser(user);
    }

    @Transactional
    private void saveUser(User user) {
        userService.save(user);
        Permissions permissions = remoteService.resolveUserPermissions(user);
        userService.savePermissions(user, permissions);
        counter++;
        System.out.println(counter);  // 1, 2, ...
    }
}

// test/java/UserServiceTest.java
@Component
public class UserServiceTest {
    @Autowired
    private UserService2 bean;

    public void aaa() {
        bean.createUser();
        System.out.println(bean.counter);  // 0
        bean.createUser();
        System.out.println(bean.counter);  // 0
        bean.createUser();
        System.out.println(bean.counter);  // 0
    }
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти