인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jungmin257님의 프로필 이미지
jungmin257

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

MVC 패턴 - 적용

model과 repository

작성

·

21

0

memberRepository.save(member);

회원 정보를 repository(DB)에 담는건 이해가 됐습니다. 제 질문은 2가지입니다.

  1. 이게 비즈니스 로직인데 너무 짧아서 그냥 컨트롤러 로직에 함께 쓴 것인가요?

  2. 실무에서도 model을 주로 request.setAttribute()로 사용하고 여기에 데이터를 담아서 쓰나요??

     

답변 2

0

안녕하세요. jungmin257님, 공식 서포터즈 y2gcoder입니다.

1번 질문은 AI 인턴의 답변을 참고해주십쇼!

2번 질문은 강의를 수강하시다 보면 해결되실 거라 생각합니다 🙂 과거의 구조부터 현대의 구조로 점진적으로 발전하는 모습을 보여드리는 것이 영한님의 강의 스타일이라 생각합니다. 지금은 jungmin257님은 예전에 하던 방식을 보고 계십니다. 학습하시면서 지금의 보고 계신 구조가 변경되는 모습을 보실 수 있을 거라 생각합니다!

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

jungmin257님, 질문해주신 내용을 바탕으로 몇 가지 관련된 정보를 제공해 드리겠습니다.

  1. 비즈니스 로직과 컨트롤러 로직
    비즈니스 로직을 컨트롤러에 포함시킬 수 있는 이유는 간단한 예제이기 때문일 수 있습니다. 작은 규모의 애플리케이션이나 학습 목적으로 작성된 예제에서는 비즈니스 로직이 복잡하지 않거나 분리의 필요성을 느끼지 않을 수 있습니다. 실무에서는 비즈니스 로직을 별도의 서비스 레이어로 분리하여 유지보수성을 높이고, 코드의 관리성을 향상시키는 것이 일반적입니다. 예제를 통해 기본 원리를 이해한 후, 복잡한 구조에서는 서비스 레이어를 사용하여 비즈니스 로직을 분리할 수 있는 방법을 공부하시면 좋을 것 같습니다.

  2. Model과 request.setAttribute() 사용
    스프링 MVC에서는 보통 request.setAttribute()를 직접 사용하기보다는 Model 객체를 사용하여 데이터를 뷰로 전달합니다. Model 객체는 좀 더 스프링 스타일의 방식이며, 코드의 가독성 및 유지보수성을 증가시킵니다. 실무에서는 주로 Model을 사용하여 컨트롤러에서 뷰로 데이터를 전달하며, JSP나 템플릿 엔진에서 해당 데이터를 활용하여 뷰를 렌더링합니다. 이 방법은 구조적이고 스프링의 특징을 살린 코드 작성 방식입니다.

아래 링크는 이와 관련된 기존 질문의 답변입니다:
- request.setAttribute 관련하여 질문 드립니다.

위 링크는 request 객체와 dispatcher.forward를 사용하는 이유에 대해 설명하고 있으며, 추가적인 맥락을 제공하여 이해에 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

jungmin257님의 프로필 이미지
jungmin257

작성한 질문수

질문하기