Spring

[Spring] 스프링 프레임워크란?

로아다 2023. 7. 3. 14:10
728x90
반응형
프레임워크 (Framework)

 - 프로젝트 개발에 효율적인 구조를 미리 만들어 놓은 것 (PPT 템플릿 같은 것)

 - 개발자는 이미 완성된 구조에 빈칸을 채우는 느낌으로 프로젝트를 진행할 수 있다.

 - 전체적인 구조에 대한 지식(디자인패턴 등)이 없는 초보 개발자들도 프로젝트에 투입할 수 있다는 장점이 있다.

 - 일정 수준 이상의 품질이 항상 보장된다.

 - 개발 비용이 많이 절감된다.

 

스프링 프레임워크

 - 자바를 이용해 웹 애플리케이션 서버 개발을 효율적으로 진행하기 위한 프레임워크

 - 다양한 디자인패턴 및 기능들이 미리 구현되어 있기 때문에 효율적으로 개발을 진행할 수 있다.

 

스프링의 특징

 1. POJO (Plain Old Java Object)

 

  - JSP처럼 새로운 공부가 필요한 문법들의 사용을 지양한다.

  - 백엔드에 JSP 코드가 섞이는 것은 바람직하지 않으면 순수 JAVA코드로 작성되어야 한다.

  - 익숙치 않은 별도의 API를 최대한 배제하여 개발자의 혼란을 최소화한다.

 

 2. 의존성 주입 (DI, Dependency Injection)

 

  - 생성자를 아예 사용하지 말자. (생성자로 인해 유지보수 비용이 증가)

  - 프로젝트 내부의 생성자 사용을 모두 제거하여 객체간의 결합도를 낮출 수 있다.

          결합도가 높다 - 하나 수정하면 빨간 줄이 100개 뜬다.

          결합도가 낮다 - 객체 하나 수정해도 거의 문제가 안생긴다.

 

스프링 프로젝트의 기본 구조

 - src/main/java : 자바 코드를 작성하는 곳

 - src/main/resources : 자바 코드를 실행할 때 필요한 자원들을 저장하는 곳

 - src/test/java : 작성한 자바 코드에 대한 테스트 코드를 작성하는 곳

 - src/test/resources : 테스트 코드를 실행할 때 필요한 자원들을 저장하는 곳

 - Maven Dependencies : 프로젝트가 의존하고 있는 다른 프로젝트들 목록

 - webapp/resources : 정적 자원들을 보관하는 곳

 - webapp/WEB-INF/spring/appservlet/servlet-context.xml : appServlet 초기화 파라미터들을 정의하는 곳 (지역 초기화 파라미터, ServletConfig)

 - webapp/WEB-INF/spring/root-context.xml : 전역 초기화 파라미터들을 정의하는 곳 (전체 초기화 파라미터, ServletContext)

 - webapp/WEB-INF/views/ : 페이지(.jsp)들을 보관하는 곳

 - webapp/WEB-INF/web.xml : 서버 설정 파일

 - pom.xml : Maven Project에서 사용하는 설정 파일

728x90
반응형