▸Spring MVC25 스프링(Spring) MVC 동작 구조 및 스프링 컨테이너 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 서블릿을 다루다 스프링으로 넘어온 후 제일 헷갈리는 부분이 컨테이너와 빈(Bean) 부분이었습니다. 스프링 MVC 프로젝트의 구동 순서대로 따라가보겠습니다. 기본적인 서블릿 구조에 대한 개념이 있어야 이해가 수월할 것 같습니다. 그리고 스프링 MVC 폴더 구조에 대해서 미리 알면 좋습니다. [Spring/- 기본 상식] - 스프링(Spring) 프로젝트의 폴더 구조 1. 톰캣(WAS) 구동 (web.xml) 스프링 MVC .. ▸Spring MVC/기본 상식 2020. 3. 15. 스프링 MVC - 데이터 전달 객체들 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 기본 서블릿에서는 사용자 요청을 받을 때 서블릿 컨테이너가 request, response 객체 두 개를 전달해주는 방식이 고정적이어서 컨트롤러를 작성할 때 크게 고민되는 부분이 없었던 것 같습니다. 하지만 스프링에서는 컨트롤러에 정해진 형식이 없고, 온갖 어노테이션과 파라미터들을 활용해 컨테이너로부터 파라미터 .. ▸Spring MVC/기본 문법 2020. 3. 11. 스프링 MVC 컨트롤러 작성하기 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 스프링 MVC 프로젝트의 전체 동작 구조와 기본 설정 파일들에 대한 내용은 아래글을 참조하시면 됩니다. [Spring/- 기본 상식] - 스프링(Spring) MVC 동작 구조 및 스프링 컨테이너 [ 컨트롤러 클래스 만들기 ] 간단히 클래스에다가 "@Controller" 어노테이션을 붙여주면 됩니다. 다만 주의할.. ▸Spring MVC/기본 문법 2020. 3. 11. 스프링 AOP 구현 (관점 지향 프로그래밍) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ AOP ] Aspect Oriented Programming - 관점 지향 프로그래밍 공통 기능과 핵심 기능을 분리시켜 공통 기능을 계속 재활용해 사용하는 방식 개념 자체는 기존 객체 지향 프로그래밍 또는 함수형 프로그래밍과 동일합니다. 공통 코드는 따로 만들어서 여기저기서 가져다 쓰자는거죠. 하지만 IOC의.. ▸Spring MVC/기본 문법 2020. 3. 10. 스프링에서 외부 환경 변수 정보 읽어오기 (Properties 파일) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 코드 내에 정보를 넣어 두지 않고 외부 설정 파일을 이용해 정보를 주입시켜주는 방식입니다. 빈(Bean)과 마찬가지로 코드를 변경하지 않고도 쉽게 정보를 수정할 수 있다는 장점이 있습니다. 예를 들어 프로그램에서 환경 설정 탭에 들어가 DB 정보를 입력하면 해당 DB와 연동되도록 만들 수 있는데, 이 정보를 메모.. ▸Spring MVC/기본 문법 2020. 3. 9. 스프링의 IOC(제어의 역전)와 DI(의존성 주입) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ IOC(Inversion of Control, 제어의 역전) ] 객체의 생성부터 소멸까지 객체의 모든 생명주기를 개발자가 아닌 컨테이너가 담당하는 것 프레임워크의 기본 개념에서 잠시 언급했듯이, 기술적으로는 복잡하겠지만 개념적으로 IOC(제어의 역전)라는 것은 간단한 의미입니다. 원래 개발자가 해왔던 일을 컨.. ▸Spring MVC/기본 문법 2020. 3. 6. 스프링(Spring) 프로젝트의 폴더 구조 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 먼저 Spring MVC 템플릿으로 스프링 프로젝트를 하나 생성해보겠습니다. 빌드툴은 메이븐을 사용합니다. 폴더 구조가 꽤 복잡한데, 하나하나 살펴보도록 하겠습니다. 1. src/main/java 자바(.java) 파일이 모여있는 곳입니다. 패키지로 잘 분리해서 자바 클래스를 생성해 사용하면 됩니다. 스프링에서 이미 MVC 패턴의 서블릿 구조를 잡아주기 때문에 따로 서블릿을 만들 필요 없이 스프링 구조에 맞춰 클래스 파일들.. ▸Spring MVC/기본 상식 2020. 3. 6. 스프링(Spring)과 메이븐(Maven) [ 메이븐(Maven) ] 자바 프로젝트를 위한 통합 빌드 툴 (Build Tool) 프로젝트, 라이브러리, 의존관리를 자동 관리해주는 프로젝트 관리 도구 빌드 과정의 프레임워크이자 자동화 시스템 빌드란 컴파일을 포함해 개발자가 짠 코드가 실제로 컴퓨터에서 실행되기 위한 모든 과정과 결과물을 말합니다. 이제까지 별도 빌드툴 설치 없이 이클립스에서 코드를 작성하고 실행할 수 있었듯 개발에 있어 필수적인 요소는 아닙니다. 다만 자동화된 빌드툴 없이 수동으로 빌드를 관리할 경우, 프로젝트가 커질 수록 개발자가 정상적인 빌드 과정을 위해 신경써야할 부분들이 엄청 늘어나게 됩니다. 또한 다른 사람들과 협업할 경우 이런 과정들을 한땀한땀 수동으로 맞춰주면서 작업해야하기 때문에 효율성도 줄어들고 예기치 못한 장애로 .. ▸Spring MVC/기본 상식 2020. 3. 5. 이클립스에 STS(스프링/메이븐 플러그인) 설치 1. "Help - Eclipse MarketPlace" 클릭 2. "STS" 검색 3. 필요한 버전을 Install - 처음 설치하는 거라면 두 번째의 'Standalone Edition' 버전으로 설치 - "Spring Tools 4"는 스프링 부트만 설치 된다고 설명에 적혀있음 - "Spring Tools 3 Add-On"은 스프링 부트(4)가 설치돼 있을 때 스프링(3)의 컴포넌트를 추가하는 용도라고 돼있음 4. 모두 체크된 것을 확인한 뒤 "Confirm" 클릭 5. 라이선스 사용 동의 후 "Finish" 클릭 6. 설치 완료될 때까지 대기 - 창이 꺼져서 다 된것으로 보일 수 있으나 우측 하단에 보면 설치 진행중인 것을 확인할 수 있음 7. 설치 완료 후 메세지 뜨면 이클립스 재시작 8. 우측.. ▸Spring MVC/개발 TIP 2020. 3. 5. 프레임워크와 라이브러리의 차이 [ 프레임워크 ] 프로그램이 동작하는 기본 뼈대(Frame)를 제공 IOC (제어의 역전), 라이브러리, 디자인 패턴을 구현 [ 라이브러리 ] 특정 기능(알고리즘)을 미리 구현한 소스코드의 집합 프레임워크는 프로그램이 실행되는 기본 구조, 즉 뼈대를 미리 설계해둔 것을 말합니다. 단순화해서 생각해보면 인터페이스의 개념이 확장된 것이라고 생각합니다. 예를 들어 여러 명이 하나의 프로젝트를 시작한다면, 시작에 앞서 프로그램의 동작 구조를 먼저 설계해야 합니다. 주로 사용되는 방법 중 하나가 각 모듈별 기능을 수행할 인터페이스를 만들어두는 것입니다. 각 개발자는 지정된 인터페이스의 구조대로 필요한 로직을 짜게 됩니다. 또한 DB연결과 같이 프로그램 내 어디서든 공통적으로 적용돼야 할 코드도 미리 작성해둡니다... ▸Spring MVC/기본 상식 2020. 2. 26. 이전 1 2 다음 💲 추천 글 반응형