javaboiii의 Spring

Spring - 스프링 프레임워크

javaboiii 2024. 8. 19. 19:08

Spring

  • 스프링 프레임워크: 스프링은 자바 기반의 애플리케이션 프레임워크로, DI(의존성 주입), AOP(관점 지향 프로그래밍) 등을 통해 객체 간의 의존성을 관리하고 애플리케이션의 유지보수를 용이하게 함
  • 전자정부 프레임워크: 전자정부 프레임워크는 정부의 전자적 행정을 지원하기 위해 개발된 프레임워크로, 스프링 기반의 모듈과 유사한 구조를 가짐
  • 스프링 기반 자체 프레임워크: 스프링을 기반으로 만들어진 다른 프레임워크들도 구조적으로 스프링과 비슷한 패턴을 따름
  • Controller와 JSP: JSP 페이지에서 모든 로직을 처리하는 것은 좋지 않음
    대신, 서블릿(Servlet) 혹은 스프링의 컨트롤러를 통해 요청을 처리하는 것이 좋음
    이때 FrontController 패턴을 사용하면, 모든 요청이 중앙 컨트롤러(홈 컨트롤러, 디스패쳐 컨트롤러 등)로 전달됨
  • 톰캣 설정 방법:
    • XML 설정: web.xml 같은 XML 파일에 설정을 등록 XML 설정은 다소 무겁고 유지보수가 어려울 수 있음
    • 어노테이션 설정: 클래스 위에 어노테이션을 붙여서 설정을 등록. 서버가 구동될 때 자동으로 설정이 적용됨 어노테이션 설정은 더 간편하고 직관적임
  • 요청 처리 과정:
    1. 사용자의 요청을 추출 및 확인
    2. 요청을 수행
    3. 응답 처리(페이지 이동 등)
      • 데이터 전달 여부에 따른 처리 방식 결정 (포워드 vs 리다이렉트)
      • 이동할 경로 설정
  • Controller.jsp 사용 시 문제점:
    • 파라미터가 많아지고 가독성이 떨어지며 요청이 느려질 수 있음
    • 코드의 응집도가 낮아짐
      • 공동 작업이 어려워지고 코드 작업 시 전체 페이지 접근이 어려움
      • 가용성이 낮아져서 사용자가 이용할 수 없는 경우가 발생할 수 있음
  • 응집도 향상:
    • 각 기능별로 클래스를 나눠서 관리 (예: XxxAction.java)
    • POJO(Plain Old Java Object)를 활용하여 가벼운 객체로 관리
    • XxxAction 클래스들이 공통 인터페이스를 구현하여 execute(req, res) 메소드를 호출
  • Java에서 반환값 처리:
    • 2개 이상의 반환값이 필요할 경우 클래스(DTO)를 만들어서 반환값을 캡슐화함
  • MVC 패턴:
    • V(View)는 controller.jsp?action=board와 같은 URL로 전달된 요청을 처리함
    • board.do 같은 경로로 요청을 보내고, 전달할 파라미터가 없어져서 가벼워짐

 

 

'javaboiii의 Spring' 카테고리의 다른 글

Spring - 의존성 주입  (1) 2024.10.02
Spring - 컨테이너  (0) 2024.10.02
Spring - Spring Framwork 구조  (1) 2024.10.02
Spring - Spring Framwork 정의  (2) 2024.10.02
Spring - MVC 핸들러맵핑과 싱글톤패턴  (0) 2024.08.21