전체 글287 Junit 라이브러리 import가 되지 않을 때 프로젝트 규모가 커지면 테스트할 때마다 WAS 등 모든 프로그램을 구동시키는 것이 부담되기 때문에, 자바용 단위 테스트를 위한 표준 프레임워크인 Junit을 사용해 테스트를 진행하는 경우가 있습니다. 메이븐을 사용해 스프링 환경을 구성하면 디폴트 설정으로 Junit 라이브러리가 의존 설정이 돼 있고, 실제로 라이브러리 파일(.jar)이 있는 것을 확인할 수 있습니다. 그런데 멀쩡히 존재하는 Junit 라이브러리가 import가 되지 않는 경우가 있습니다. 이 경우 메이븐에 설정된 자바 버전과 메이븐 플러그인 버전을 올려주면 해결됩니다. 1.8 이상으로 올려주면 되고, 두 버전을 동일하게 맞춰주면 됩니다. 그리고 메이븐 업데이트를 한 번 해줍니다. 프로젝트를 우클릭해서 "Maven-Update Projec.. ▸Spring MVC/개발 TIP 2020. 3. 17. 도커를 이용한 MySQL 설치 윈도우에서는 그냥 쉽게 설치할 수 있으나.. 나중에 DB 환경을 실제 운영 서버나 다른 곳으로 이전시킬 수 있기 때문에 도커를 이용해 설치를 해봤습니다. 어차피 실제 운영할 때는 리눅스 서버에서 사용할 가능성이 높기 때문에 미리 익숙해지는게 좋을 듯합니다. 윈도우 서버는 유료이고 비쌉니다.. 1. 도커 허브(Docker Hub)에서 이미지 찾기 트레이아이콘을 우클릭하면 나오는 탭 중 "Docker Hub"를 클릭하면 접속이 됩니다. 거기서 mysql을 검색합니다. 공식 이미지 파일(OFFICIAL IMAGE)이 있어서 이 이미지를 받기로 합니다. 그냥 명령어로 "docker search mysql"을 입력해 검색할 수 있지만 설명을 자세히 보기가 힘든디 그냥 도커 허브를 쓰는게 나은 것 같습니다. 눌러보.. ▸인프라/Docker 2020. 3. 16. 도커 커맨드의 기본 명령어 (컨테이너 생성과 삭제) 리눅스 또는 윈도우에서 공통으로 사용할 수 있습니다. 저같은 경우는 윈도우에서 git bash를 사용하고 있습니다. 1. 버전 확인 - docker version 2. 원격 저장소(도커 허브 Repository)에서 도커 이미지 가져와 저장하기 - docker pull '이미지이름':태그 태그를 넣지 않으면 디폴트 태그인 ":latest"로 적용됩니다. 가장 최신의 이미지로 가져온다는 뜻입니다. 3. 로컬 저장소에 보관된 도커 이미지 리스트 확인 - docker images 4. 컨테이너 생성 및 구동 - docker run '이미지이름':태그 - docker run --name '컨테이너이름' '이미지 이름':태그 (컨테이너 이름을 직접 지정) 태그는 없으면 디폴트인 latest로 설정되고, 만약 로컬.. ▸인프라/Docker 2020. 3. 16. 윈도우 가상머신으로 도커(Docker) 설치하기 [ 윈도우에 가상 머신 구동 ] 도커(Docker)는 리눅스 OS 위에서 구동됩니다. 따라서 윈도우에서 사용하기 위해 가상 머신에다가 리눅스 환경을 구축해 사용하도록 하겠습니다. Windows Pro 이상부터는 기본적으로 윈도우의 가상화 기술인 Hyper-V 기능이 제공되므로 해당 기능을 사용하도록 하겠습니다. 1. "작업관리자 - 성능 - CPU" 에서 가상화 사용 여부 확인 아래 빨간색 네모 부분이 '사용'으로 되어 있어야 합니다. 안돼있으면 바이오스에서 켜줘야 하는데 이부분은 따로 구글링을 해보시면 됩니다. 웬만하면 대부분 사용으로 되어 있을겁니다. 2. Hiper-v 기능 활성화 "제어판 - 프로그램 및 기능 - Windows 기능 켜기/끄기" 탭에 들어가서 'Hyper-V'에 체크를 하고 확인을.. ▸인프라/Docker 2020. 3. 16. 도커(Docker)란? [ 도커(Docker)란? ] 복잡한 기술적 설명들은 인터넷에 많으니 기술적인 부분 빼고 최대한 간단히 개념만 정리하고 넘어가겠습니다. 도커는 간단히 리눅스에서 하나의 프로세스가 독립적으로 실행될 수 있도록 하는 가상의 컨테이너 기술입니다. 리눅스에서 하나의 프로그램을 구동하기 위한 환경설정 과정이 매우 복잡한데, 이 부분을 통째로 이미지화해서 저장한 뒤 다른 곳에서 그대로 불러와 사용하는 방식입니다. 이미지로 저장된 환경이 독립적으로 실행될 수 있도록 분리해주는 개념이 리눅스의 컨테이너입니다. Hyper-V나 VMWare 같은 가상화 기술과 다른 점은, OS의 자원을 최대한 활용하면서 프로세스 실행에 필요한 부분만 최소한으로 가상화 환경으로 구동시킨다는 것입니다. 가상화의 경우 OS안에 아예 독립적인 .. ▸인프라/Docker 2020. 3. 16. 스프링(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. MVC 패턴의 게시판 만들기_게시물 보기 로직 [5/5] 로그인 페이지 만들기에 이어 이번에는 MVC 패턴을 적용한 웹 어플리케이션에서 게시판을 만들어봅니다. Spring 없이 순수 JSP와 서블릿으로 구성되며, 기존 로그인과 회원가입, 정보조회를 만들었던 웹페이지에 기능을 붙여서 구현합니다. [· JSP & Servlet/- 부트스트랩] - 부트스트랩으로 게시판 만들기_리스트 화면 [1/3] [· JSP & Servlet/- 부트스트랩] - 부트스트랩으로 게시판 만들기_글쓰기 화면 [2/3] [· JSP & Servlet/- 부트스트랩] - 부트스트랩으로 게시판 만들기_게시물 보기 화면 [3/3] [· JSP & Servlet/- 기본 문법] - MVC 패턴의 게시판 만들기_계층형 게시판 로직 설계 [1/5] [· JSP & Servlet/- 기본 문법] -.. ▸JSP & Servlet/기본 문법 2020. 3. 3. 이전 1 ··· 4 5 6 7 8 9 10 ··· 20 다음 💲 추천 글 반응형