java
-
템플릿 엔진(Template Engine) 템플릿 엔진은 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨이이다. 이 중 웹 템플릿 엔진은 웹 문서가 출력되는 엔진을 말한다. 또한 웹 템플릿 엔진은 템플릿 양식인 view(html)와 Data Login(DB 데이터)을 분리해주는 기능을 한다. 템플릿 엔진(Template Engine)의 종류 레이아웃 템플릿 엔진 중복되는 include 코드를 사용하지 않고 지정된 페이지 레이아웃에 따라 페이지 타일을 조합하여 완전한 페이지를 만들어준다. 주로 header, footer, side bar 등을 설정할 때 사용한다. 예) Apache Tiles, Sitemesh 등 텍스트 템플릿 엔진 템플릿 양식에 적절한 특정 데이..
템플릿 엔진(Template Engine)템플릿 엔진(Template Engine) 템플릿 엔진은 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨이이다. 이 중 웹 템플릿 엔진은 웹 문서가 출력되는 엔진을 말한다. 또한 웹 템플릿 엔진은 템플릿 양식인 view(html)와 Data Login(DB 데이터)을 분리해주는 기능을 한다. 템플릿 엔진(Template Engine)의 종류 레이아웃 템플릿 엔진 중복되는 include 코드를 사용하지 않고 지정된 페이지 레이아웃에 따라 페이지 타일을 조합하여 완전한 페이지를 만들어준다. 주로 header, footer, side bar 등을 설정할 때 사용한다. 예) Apache Tiles, Sitemesh 등 텍스트 템플릿 엔진 템플릿 양식에 적절한 특정 데이..
2022.04.28 -
RestTemplate 스프링에서 제공하는 http통신에 유용하게 쓸 수 있는 템플릿이며, HTTP 서버와의 통신을 단순화하고 RESTful 원칙을 지킨다. RestTemplate는 기계적이고 반복적인 코드들을 깔끔하게 정리해준다. 장점 - 기계적이고 반복적인 코드를 최대한 줄여준다. URL, Response 받을 Object 설정 등 - RESTful 형식에 맞춘다. - 멀티쓰레드 방식을 사용한다. - Blocking 방식을 사용한다. - json, xml을 쉽게 응답받는다 어플리케이션이 RestTemplate를 생성하고, URI, HTTP 메소드 등의 헤더를 담아 요청한다. RestTemplate 는 HttpMessageConverter 를 사용하여 requestEntity 를 요청메세지로 변환한다...
HTTP 다양한 통신 방법(URLConnection, RestTemplate, HttpClient, WebClient)RestTemplate 스프링에서 제공하는 http통신에 유용하게 쓸 수 있는 템플릿이며, HTTP 서버와의 통신을 단순화하고 RESTful 원칙을 지킨다. RestTemplate는 기계적이고 반복적인 코드들을 깔끔하게 정리해준다. 장점 - 기계적이고 반복적인 코드를 최대한 줄여준다. URL, Response 받을 Object 설정 등 - RESTful 형식에 맞춘다. - 멀티쓰레드 방식을 사용한다. - Blocking 방식을 사용한다. - json, xml을 쉽게 응답받는다 어플리케이션이 RestTemplate를 생성하고, URI, HTTP 메소드 등의 헤더를 담아 요청한다. RestTemplate 는 HttpMessageConverter 를 사용하여 requestEntity 를 요청메세지로 변환한다...
2022.04.27 -
Lombok Java 라이브러리로 반복되는 메소드를 Annotation으로 만들어 자동으로 작성해주는 라이브러리이다. 보통 DTO, Model, Entity 의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해 Getter 나 Setter, 생성자 등을 매번 작성해줘야 하는 경우가 많은데 이러한 부분을 자동으로 만들어주는 라이브러리이다. 보통 데이터 전달 객체인 DTO와 같이 자주 변경되는 클래스의 경우 멤버변수의 변경 또는 삭제할 때마다 Getter, Setter, 생성자 등을 수정해야 하는 경우가 발생한다. 이러한 경우에도 Lombok을 이용하여 어노테이션만 추가하면 매번 수정할 필요가 없이 Lombok이 자동으로 수정해준다. 하지만 장점만 있는게 아닌 단점도 있다. 예를 들어 @Data 나 ..
LombokLombok Java 라이브러리로 반복되는 메소드를 Annotation으로 만들어 자동으로 작성해주는 라이브러리이다. 보통 DTO, Model, Entity 의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해 Getter 나 Setter, 생성자 등을 매번 작성해줘야 하는 경우가 많은데 이러한 부분을 자동으로 만들어주는 라이브러리이다. 보통 데이터 전달 객체인 DTO와 같이 자주 변경되는 클래스의 경우 멤버변수의 변경 또는 삭제할 때마다 Getter, Setter, 생성자 등을 수정해야 하는 경우가 발생한다. 이러한 경우에도 Lombok을 이용하여 어노테이션만 추가하면 매번 수정할 필요가 없이 Lombok이 자동으로 수정해준다. 하지만 장점만 있는게 아닌 단점도 있다. 예를 들어 @Data 나 ..
2022.04.27 -
싱글톤 패턴 어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 할당한 메모리만 이용하여 인스턴스를 만들어 사용하는 디자인 패턴이다. 인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면 하나의 인스턴스를 메모리에 등록하고 여러 쓰레드가 동시에 해당 인스턴스를 공유하여 사용할 수 있기 때문에 많은 곳에서 사용하면 효율을 높일 수 있다. 싱글톤 패턴 장점 - 한번의 new 인스턴스로 할당한 고정된 메모리 영역만 사용하기 때문에 메모리 낭비를 방지할 수 있다. - 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스들간 인스턴스 데이터를 공유하기 쉽다. - 이미 생성된 인스턴스를 활요하다보니 속도 측면에서도 이점이다. 싱글톤 패턴 단점 싱글톤 인스턴스를 생성하고 생성..
싱글톤 패턴(Singleton)싱글톤 패턴 어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 할당한 메모리만 이용하여 인스턴스를 만들어 사용하는 디자인 패턴이다. 인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면 하나의 인스턴스를 메모리에 등록하고 여러 쓰레드가 동시에 해당 인스턴스를 공유하여 사용할 수 있기 때문에 많은 곳에서 사용하면 효율을 높일 수 있다. 싱글톤 패턴 장점 - 한번의 new 인스턴스로 할당한 고정된 메모리 영역만 사용하기 때문에 메모리 낭비를 방지할 수 있다. - 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스들간 인스턴스 데이터를 공유하기 쉽다. - 이미 생성된 인스턴스를 활요하다보니 속도 측면에서도 이점이다. 싱글톤 패턴 단점 싱글톤 인스턴스를 생성하고 생성..
2022.04.27 -
View Resolver(뷰 리졸버) 컨트롤러는 최종적으로 결과를 출력할 뷰 이름과 뷰에 전달할 객체정보(데이터)를 리턴한 후 종료하고 이를 DispatcherServlet 의 View Resolver가 받아 결과를 출력해줄 View 객체를 구하고, 구한 View 객체를 이용하여 데이터를 클라이언트에게 보여준다. 이렇게 View Resolver는 데이터를 요청한 클라이언트에게 보여줄 View를 결정하고 리턴한 데이터를 화면에 보여준다. View Resolver 종류 1. UrlBasedViewResolver ViewResolver의 구현체로 특별한 매핑 정보 없이 의미상 View 이름을 URL로 사용 View 이름과 실제 리턴된 View 자원과의 이름이 같을때 사용한다. 사용자에게 보여줄 view의 경로..
View Resolver(뷰 리졸버)View Resolver(뷰 리졸버) 컨트롤러는 최종적으로 결과를 출력할 뷰 이름과 뷰에 전달할 객체정보(데이터)를 리턴한 후 종료하고 이를 DispatcherServlet 의 View Resolver가 받아 결과를 출력해줄 View 객체를 구하고, 구한 View 객체를 이용하여 데이터를 클라이언트에게 보여준다. 이렇게 View Resolver는 데이터를 요청한 클라이언트에게 보여줄 View를 결정하고 리턴한 데이터를 화면에 보여준다. View Resolver 종류 1. UrlBasedViewResolver ViewResolver의 구현체로 특별한 매핑 정보 없이 의미상 View 이름을 URL로 사용 View 이름과 실제 리턴된 View 자원과의 이름이 같을때 사용한다. 사용자에게 보여줄 view의 경로..
2022.04.27 -
Spring Filter란 HTTP 요청과 응답을 변경할 수 잇는 재사용 가능한 코드이다. 요청과 응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통하여 요청, 응답의 데이터를 변경하거나, Spring에 의해서 데이터가 변환되기 전 순수한 요청 데이터를 확인할 수 있다. 아래의 이미지를 보면 클라이언트의 모든 요청을 처리하는 DispatcherServlet으로 가기 전 Filter가 적용된다. * 이미지 참조 : http://wiki.simuruk.com/index.php/spring_%EA%B5%AC%EC%A1%B0_%EC%84%A4%EB%AA%85 CharacterEncodingFilter 스프링 웹 요청과 응답에 대한 인코딩 처리 필터 CharacterEncodingFilter 클래스는 Ser..
Spring FilterSpring Filter란 HTTP 요청과 응답을 변경할 수 잇는 재사용 가능한 코드이다. 요청과 응답에 대해서 최초/최종 단계의 위치에 존재하며 이를 통하여 요청, 응답의 데이터를 변경하거나, Spring에 의해서 데이터가 변환되기 전 순수한 요청 데이터를 확인할 수 있다. 아래의 이미지를 보면 클라이언트의 모든 요청을 처리하는 DispatcherServlet으로 가기 전 Filter가 적용된다. * 이미지 참조 : http://wiki.simuruk.com/index.php/spring_%EA%B5%AC%EC%A1%B0_%EC%84%A4%EB%AA%85 CharacterEncodingFilter 스프링 웹 요청과 응답에 대한 인코딩 처리 필터 CharacterEncodingFilter 클래스는 Ser..
2022.04.27