Встречается на 2% собеседований по Java

Для чего нужны слои в Spring приложении

Слои в Spring помогают разделить ответственность и упростить поддержку кода. Основные слои:

  1. Controller – обрабатывает HTTP-запросы, валидирует входные данные, возвращает ответы.
  2. Service – бизнес-логика, транзакции, вызовы репозиториев.
  3. Repository (DAO) – работа с БД (JPA, JDBC и т.д.).
  4. Model (Entity) – сущности данных.

Пример:

java
@RestController // Controller
public class UserController {
    @Autowired
    private UserService userService;

    @PostMapping("/users")
    public User createUser(@RequestBody UserDto userDto) {
        return userService.createUser(userDto);
    }
}

@Service // Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    @Transactional
    public User createUser(UserDto userDto) {
        User user = new User(userDto.getName());
        return userRepository.save(user);
    }
}

@Repository // Repository
public interface UserRepository extends JpaRepository<User, Long> {}

Преимущества:

  • Четкое разделение обязанностей
  • Упрощение тестирования
  • Гибкость при изменениях
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы