프로그래밍/Spring
-
[MVC] Model은 어디로 갔을까?프로그래밍/Spring 2023. 11. 22. 19:01
스프링 기초강의를 보면 항상 나오는 것이 Model 이다. 하지만 여기서 본 이후로 지금까지 단 한번도 본 적도 없으며, 사용해 본적도 없는데 스프링에서 가장 중요하다고 할 수 있는 MVC 패턴 그 중 하나임에도 왜 쓰이지 않는 것일까? MVC란? MVC C 요청받음 -> Model 에서 비즈니스로직을 사용하여 데이터 저장 -> V 로 전달 현재 많이 쓰이는 3계층 아키텍처는 C 요청받음 -> service에서 비즈니스로직을 굴리고 repository를 통해 DB 활용 -> http 응답으로 전달 으로 변하였다. View는 프론트엔드로 넘어가고 프론트엔드에게 데이터전달을 위해 Http를 사용하여 데이터를 보내주는 것이다. Model이 안보이는 이유 최근에는 MVC 패턴이 더 구체화되고 발전하였기 때문에 ..
-
스프링 TMI. 영속성컨텍스트에서 준영속상태가 누적된다면?프로그래밍/Spring 2023. 11. 15. 15:37
영속성컨텍스트를 복습하던 중 이러한 의문이 들었다 . 준영속상태에서 merge를 할 경우 복사된 데이터가 반환된다. 그러면 기존의 데이터는 어떻게 되는가? 기존 준영속 상태의 엔티티 이 엔티티는 여전히 준영속상태를 유지하며, 새로운 영속성 컨텍스트에는 속하지 않는다. 새로운 영속 상태의 엔티티 merge 메소드의 반환값으로 들어온 엔티티. 그렇다면 이러한 merge가 계속 반복되면 준영속상태의 엔티티가 쌓일텐데 데이터의 누적으로 인한 문제가 생기지 않게 하려면 저데이터들을 지워줘야하는게 아닐까? 어떻게 지우지? 사고의 흐름 em.close를 해서 영속성컨텍스트를 닫아버리면 지워지나? 실행결과 close를 해도 지워지지 않았다. 하지만 나의 궁금증은 쓸모없는 궁금증이었다. 요약해서 말하자면 준영속상태의 데..
-
스프링 입문 + 웹프로그래밍/Spring 2023. 11. 8. 21:39
Spring Framework 모델-뷰-컨트롤러 아키텍처: MVC 모델(model) : 컨트롤러와 데이터를 연결하고 비즈니스 로직이 작성된다. @Service 뷰 (view) : 사용자 인터페이스 담당. FE가 전담 컨트롤러 (controller) : 사용자의 요청을 처리하고 모델과 뷰 사이를 연결 @Controller MVC를 기반으로 모든 스프링 프레임워크가 짜여져있다. Bean 관리 싱글톤 (singleton) 패턴 기본적으로 스프링은 각 빈 정의에 대해 하나의 객체 인스턴스만을 생성한다. 이것이 싱글톤 디자인 패턴을 따르는 것으로, 같은 빈 ID나 이름으로 컨테이너에 요청을 하면, 스프링은 항상 동일한 객체 인스턴스를 반환한다. @컨트롤러, @서비스 라고 되어있는 부분에서는 내부 프로퍼티를 사용하..