분류 전체보기 44

[Spring] 원격 프로그램 실행방법에 대해 알아보자

Spring 프로젝트를 생성 후 브라우저에서 원격으로 우리가 만든 프로젝트를 실행하는 방법을 알아보자 Controller 생성 1. 프로그램 등록 2. URL과 프로그램을 연결 @Controller // 원격 호출 가능한 프로그램으로 등록 public class Hello { @RequestMapping("/hello") // URL과 프로그램을 연결 public void hello() { System.out.println("hello"); } } 3. 브라우저에서 해당 URL로 호출 실행결과 hello 인스턴스 메서드가 실행될 수 있는 이유 메서드가 static이 아닌 인스턴스 메서드임에 주목하자. 인스턴스 메서드는 객체가 생성된 후에 사용할 수 있는데 우리 코드에는 객체를 생성한 흔적이 없다. 이는 ..

[Spring] Maven Lifecycle에 대해 알아보자

Youtube 뉴렉처 강사님의 메이븐 강의를 듣고 정리한 글입니다. #1. Maven Lifecycle 앞서 우리는 cmd에서 컴파일을 할 때, 패키지를 만들 때 그에 해당하는 명령어를 사용했다. (mvn compile, mvn package...등) 이 명령어는 Maven이 가지고 있는 빌드 단계에 해당되는 명령어 들이다. 1. 특징 - Maven에서는 미리 정의하고 있는 빌드 순서가 있다. 이 순서를 라이프 사이클(LifeCycle)이라고 한다. - 라이프 사이클의 각 빌드 단계를 phase라 하며 각각의 phase는 의존관계를 가지고 있어 해당 phase가 수행되려면 이전 단계의 phase가 모두 수행되어야 한다. - 만약 compile이 실행되려면 그 전 단계들이 실행되어야 한다는 뜻이다. - 모..

[Spring] Maven에 대해 알아보자

Youtube 뉴렉처 강사님의 메이븐 강의를 듣고 정리한 글입니다. #1 Maven이란? 빌드할 때 사용하는 도구(Tool) - 라이브러리 관리(설치, 삭제, 다운로드 받기) - 빌드기능 프로젝트 빌드 과정 프로젝트 생성 -> 라이브러리 설정 -> 코드작업 -> 컴파일 -> 테스트 -> 패키지생성 -> 배포 -> 레포팅 이러한 과정들을 쉽게 구현할 수 있도록 도와준다. IDE와 빌드 도구의 차이 Eclipse, Intellj, VSCode 등 과 같은 IDE에서도 프로젝트를 생성, 라이브러리 설정, 코드작업, 컴파일 등등을 할 수 있다. 프로젝트를 개발할 때 필요한 도구들(빌드도구, 디버거, 컴파일러, 형상관리, 탐색기, 콘솔 등등)을 하나로 통합한 것이 IDE다. 빌드 도구는 IDE에서 사용할 수 있는..

[Spring] DB연결, Controller에 대해 알아보자

스프링 흐름도 1. 요청 -> DispatcherServlet이 FrontController역할을 한다. root-context.xml에 있는 빈들을 메모리에 올린다. 2. XXXController로 연결해서 주소창에 매핑되어 있는 이름에 맞는 SubController로 이동한다. 3. Controller에서 DB에서 가져올 데이터가 필요하면 XXXDAO를 통해 DB와 연동 후 데이터를 가져온다. 4. Controller는 Model이름을 DispatcherServlet에 반환한다. 5. ViewResolver는 Model의 이름 앞 뒤에 접두사, 접미사를 붙여서 /WEB-INF/view/뷰이름.jsp로 만든다. (ViewResolver는 servlet-context.xml에서 빈으로 등록되어 있다.) ..

[Spring] 프로젝트 생성 방법에 대해 알아보자

스프링 프로젝트 생성 SpringMVC 프로젝트를 생성하자. - 설치할 라이브러리 Lombok Oracle DBCP MyBatis Spring JDBC HikariCP 1. Spring Legacy Project를 선택하고 Spring MVC Project 템플릿을 선택한다. - 별도의 설정 없이 Maven을 사용하는 스프링 프로젝트를 생성할 수 있다. 2. pom.xml 설정 1) 자바 버전, 스프링프레임워크 버전, aspect 버전을 설정해준다. (여기선 1.8, 5.0.7, 1.9.0을 사용) 1.8 5.0.7.RELEASE 1.9.0 1.6.6 밑으로 내려보면 태그가 있는데 그곳에 있는 와 도 1.8로 바꿔준다. org.apache.maven.plugins maven-compiler-plugin ..

[Spring] Constructor Injection에 대해 알아보자

Constructor Injection 생성자를 이용하여 클래스 사이의 의존 관계를 연결하는 방법이다. setter injection의 경우 컨테이너 (xml파일) 에 태그를 통해 값을 넣어줬다면, constructor injection은 태그를 통해 값을 넣는다. 앞서 포스팅 했던 DI 참고 [프로그래밍/Spring] - 알기 쉬운 Spring DI (Dependency Injection)에 대해 알아보자 DI 분류 체계 1) Setter Injection - 기본 생성자를 통해 접근 2) Constructor Injection - 기본 생성자가 없다면 인자생성자를 통해 접근 Constructor Injection 사용하기 - Emp interface 생성 package ex05; public inte..

[Spring] DI (Dependency Injection)에 대해 알아보자

DI (Dependency Injection) DI (Dependency Injection) 는 클래스 간의 의존관계를 빈-xml 파일정보를 바탕으로 컨테이너가 자동으로 연결해주는 것을 의미한다. - 참조되는 객체 (class)를 직접 생성 (new) 하지 않고 컨테이너에 등록 (injection) 한 빈(객체)으로 불러와서 (lookup) 사용하는 방법이다. 스프링 컨테이너란? 빈을 관리하는 저장소라고 생각하면 쉽다. 스프링 컨테이너는 빈 객체를 저장하고 있으며, 각 객체간의 의존 관계를 관리해준다. BeanFactory와 ApplicationContext가 컨테이너 역할을 수행하는 인터페이스 1) BeanFactory (인터페이스) 2) ApplicationContext (BeanFactory 를 상..

[Spring] IoC에 대해 알아보자

spring framework의 특징 1. 경량컨테이너 - 자바 객체의 생성, 소멸 등 라이프사이클을 관리한다. 2. DI(Dependency Injection)를 지원 - 설정파일이나 어노테이션을 통해 객체 간의 의존관계를 설정하도록 한다. 3. AOP(Aspect Oriented Programming)를 지원 - 트랜잭션, 로깅, 보안과 같은 모듈들을 분리해서 관리하고 각 모듈에 적용가능하다. 4. POJO(Plain Old Java Object)를 지원 - 특정한 인터페이스를 구현하거나 클래스를 상속받지 않아도 된다. IoC란? Inversion of Control 의 약자로 역제어의 뜻을 가지고 있다. 개발자는 객체를 생성할 때 new를 통해 객체를 생성하고 객체 간의 의존관계 연결 등에 대한 제..

알기 쉬운 JSP MyBatis 셋팅 방법에 대해 알아보자

1. 다운받은 mybatis-3.x.x.zip 압축풀기 압축풀고 나온 jar파일을 XXproject/WebContent/WEB-INF/lib/ 폴더에 넣어두자. 2. JavaResources/src에 common.config 패키지를 만들자. 1) 해당 패키지에 mybatis-config.xml 파일을 생성하자 하나씩 살펴보자. DOCTYPE을 통해 문서 타입을 configuration으로 설정해주고 태그를 사용하기 위해 DTD Config 3.0을 설정해준다. 태그의 default는 개발환경을 설정할 때 쓰인다. 태그의 id가 development로 작성되었기 때문에 같은 이름으로 default에 작성해준다. 태그는 type="POOLED"를 통해 myBatis의 풀을 사용하겠단 의미다. 우리는 Ora..

프로그래밍/JSP 2020.08.04

알기 쉬운 JSP 필터 순서 설정하는 방법에 대해 알아보자

필터 체인(Filter Chain) 웹어플리케이션에는 여러개의 필터를 지정할 수 있는데, 이 때 필터가 순서대로 넘어오지않고 아무렇게나 넘어오게 되면 오류가 발생할 수 있다. 그래서 순서를 가지고 여러개의 필터가 사슬처럼 묶여있는 것을 필터 체인이라고 한다. 1. 필터를 여러개 등록하는 방법 web.xml에 태그를 통해 필터를 등록해준다. LoginFilter test.filter.LoginFilter AdminFilter test.filter.AdminFilter 2. 필터 순서를 지정해주는 방법 필터가 여러개 있다면 순서대로 필터가 넘어올 수 있도록 해야 한다. 이 때 태그를 통해서 순서를 지정해 줄 수 있다. LoginFilter /user/* AdminFilter /admin/* 3. @WebFi..

프로그래밍/JSP 2020.07.29