본문 바로가기

springframework8

Java Config로 메세지소스(MessageSource) 설정하기(다국어 지원) 스프링프레임워크에서 다국어지 지원을 위한 메세지소스 설정을 Java Config로 해 봅니다. 이번 예제는 "Spring Framework 메세지 국제화(다국어 지원) 사용하기" 에서의 xml 설정을 Java 클래스를 사용한 설정으로 변경한 것입니다. MessageSource의 사용법은 이글을 참조 하세요. 전체 예제소스는 글의 끝에 첨부해 두었습니다. 1. 메세지소스를 생성하는 설정 클래스를 작성합니다. MessageSource 와 언어 변경에 사용될 Locale Resolver를 생성합니다. 여기서는 언어정보를 세션에 저장하도록 SessionResolver를 생성합니다. package com.tistory.offbyone.init; import org.springframework.context.ann.. 2019. 3. 19.
스프링프레임워크 <form:form> 태그 사용법 스프링프레임워크의 JSP 기술중에 form taglib 가 있습니다. form 태그라이브러리를 사용하면 HTML 폼에 데이터를 바인딩하거나 에러메세지 처리등을 간편하게 할 수 있습니다. 스프링프레임워크 form 태그라이브러리를 사용하기 위해서는 먼저 다음 taglib 설정을 페이지 상단에 추가합니다. 1. 옵션 없이 사용했을 경우 기본값 호출 URL이 /offbyone/boardForm.do 라고 가정하고, 옵션 없이 사용한 경우 form 태그: 결과 HTML: - id 속성은 "command" 가 기본값입니다.- action 속성은 자기 페이지의 URL 입니다.- method는 POST가 기본입니다 2. commandName과 modelAttribute 옵션 commandName 과 modelAttri.. 2018. 8. 5.
spring-test - 테스트 프로젝트 및 테스트 케이스 기본구조 스프링프레임워크로 만들어질 웹애플리케이션을 spring-test 라이브러리를 사용하여 테스트를 하는 방법을 알아 봅니다. spring-test는 스프링프레임워크 3.2부터 지원되며, 스프링 MVC 컨트롤러에 대한 단위테스트를 지원합니다. 예제로 사용할 프로젝트를 전자정부표준프레임워크 3.6에 있는 템플릿을 사용해 봅니다. 1. 예제 프로젝트 만들기 - 전자정부표준프레임웍 3.7을 사용합니다. "전자정부표준프레임워크 3.7 설치하기" 를 참조하세요. 1.1. File -> New -> eGovFrame Web Project를 선택합니다. 1.2. Project name과 Maven Setting의 Group ID에 "spring_test" 를 입력합니다. Target Runtime은 Apache Tomca.. 2018. 5. 1.
Spring + Quartz 주기적으로 작업 실행하기 SpringFramework 4.3.4 버전에서 Quartz 2.3.0 라이브러리를 사용해서 주기적으로 작업을 실행하는 방법을 알아보겠습니다. 전체 소스는 하단에 첨부해 두었습니다. 앞에서 계속 사용해오던 소스라 DB 연결, 엑셀 다운로드 등의 소스가 같이 있는데 필요 없는 부분은 주석처리하고 테스트 해보시면 되겠습니다. 1. pom.xml 파일에 quartz 라이브러리의 의존성을 추가합니다. org.quartz-scheduler quartz 2.3.0 org.springframework spring-context-support 4.3.4.RELEASE 2. 주기적으로 실행될 서비스 메소드를 생성합니다. com.tistory.pentode.service.BoardService.java파일에 메소드 인터페.. 2018. 4. 20.
스프링프레임웍 - Tomcat에서 POST/GET 데이터 인코딩 설정 Tomcat에서 스프링프레임웍을 사용할때 POST방식으로 데이터를 전송할 때와 GET 방식으로 데이터를 전송할때 인코딩 지정을 별도로 하여야 합니다. 1. POST 데이터의 인코딩은 web.xml 에서 필터를 사용해서 처리합니다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter *.do 위 설정에서는 필터 맵핑은 *.do 로 끝나는 모든 요청에 적용되어 집니다. 2. GET 방식의 데이터의 인코딩은 server.xml 파일의 Connector 설정에서 처리합니다. 웹 프로그래밍에서 전송되는 데이터의 인코딩 설정은 WAS에 따라 달라질 수 있습니다. 이 글에서는 Tomcat 에.. 2018. 4. 17.
스프링프레임웍 - Ajax 통신(@RequestBody, @ResponseBody) 이번에는 스프링프레임웍을 사용해서 Ajax 통신을 하는 방법에 대해서 알아보도록 하겠습니다. jquery를 이용해서 Ajax로 데이터를 보내고, 결과를 JSON 데이터를 받는 예제입니다. 이번 예제는 "스프링 프레임웍에서 MyBatis, Oracle 사용하기" 에서 사용된 프로젝트를 기반으로 합니다. 또한 클라이언트 측은 "AX5UI - GRID 6 (페이징)" 에서 사용된 예제를 변형하여 AX5UI 그리드에 Ajax와 JSON 데이터를 이용해서 조회하는 예제를 만들어 보겠습니다. 전체 소스를 하단에 첨부 되어 있습니다. 먼저 실행 결과 화면을 보겠습니다. AX5UI 그리드에 구분, 완료 값을 조회조건으로 하여 조회합니다. 조회는 POST 방식과 GET 방식일 경우 각각 어떻게 데이터를 전송하고 서버측에.. 2018. 4. 9.
실행 흐름에 끼어들기(Filter,Interceptor,AOP) 3 - AOP 실행 흐르에 끼어들기 마지막으로 AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 입니다. 웹프로그램에서 하나의 요청의 실행 단계를 보면 공통적인 부분들이 존재합니다. 각 요청을 처리하는 비지니스 로직은 요청 마다 다르겠지만, 요청의 끝에서 작업 로그를 기록한다던지, 데이터베이스 트랜잭션을 요청의 앞에서 시작하고, 끝에서 커밋 또는 롤백을 한다던지 하는 코드 들이 있습니다. 이런 코드들은 모든 프로그램에 반복적으로 나타나게 됩니다. AOP 에서 이런 반복적으로 나오는 부분이 아래 이미지 에서 처럼 프로그램을 횡단하는 곳에 공통적인 코드가 나타난다고 해서 횡단적 관심사(Cross-cutting concern)라고 합니다. PGM1 PGM2 PGM3 +-----+ +-----+.. 2018. 4. 2.
스프링 프레임웍에서 MyBatis, Oracle 사용하기 Spring4 + MyBatis + Oracle 을 연동해 봅니다. 앞에서 만들었던 샘플 프로젝트 ( "Spring MVC 샘플 프로젝트 버전3 에서 버전 4로 마이그레이션 하기" ) 를 사용합니다. 1. 먼저 설치한 Oracle 데이터베이스에 유저를 추가하고 테스트용 테이블 을 생성합니다. SYSTEM 계정으로 들어가서 다음 명령으로 사용자를 추가합니다. 아이디와 비밀번호는 xeuser 입니다. GRANT CONNECT, RESOURCE TO xeuser IDENTIFIED BY xeuser; SQL Developer 에서 명령 실행은 실행하고자 하는 쿼리를 블럭으로 선택한 후 F9 또는 Ctrl+Enter 입니다. 이제 생성된 계정으로 들어가서 테스트용 테이블을 생성합니다. CREATE TABLE T.. 2018. 4. 1.