설치&설정 관련/Spring Framework
-
Springframework 주요 컨셉과 사용 예제설치&설정 관련/Spring Framework 2021. 7. 20. 00:08
자바라 쓰고 Springframework를 공부한다. Spring의 주요 3가지 컨셉은 아래와 같습니다. 1) IOC : 제어의 역전 / 의존성 주입 2) AOP : 관심의 분리 3) PSA : 일관성 있는 추상화그럼 실제로 어떻게 사용될까? IOC : 제어의 역전 / 의존성 주입 사용 예제 Bean은 IoC 컨테이너 안에 등록된 객체들을 의미 합니다. 모든 클래스의 객체가 Bean으로 등록되지 않습니다. @Repository, @Component, @Service, @Bean 등의 어노테이션을 통해서 Bean으로 등록 가능합니다. 사용 예로는 @Autowired 어노테이션을 이용해서 Bean을 주입할 수 있습니다. Bean 주입이 주는 이점은, 객체의 관리를 스프링 컨테이너가 하기에 개발자가 언제 빈을..
-
SpringBoot 프로젝트에서 Maven Build 시 profile 선택설치&설정 관련/Spring Framework 2021. 7. 1. 23:59
프로젝트 내에 여러 profile이 있을 경우 Mavne 빌드시 하나를 선택해야 합니다. Maven 프로젝트의 Root 디렉토리에서 다음 명령어로 packaging 을 하면 TEST 코드에 대하여 profile을 적용하게 됩니다. # dev profile을 사용하여 packaging 진행 ./mvnw clean package -Dspring.profiles.active=dev이후 결과 jar 파일을 실행시 profile을 설정하는 것도 동일 합니다. # dev profile을 사용하여 packaging 진행 java -jar -Dspring.profiles.active=dev result.jar
-
SpringBatch에서 Mutlti datasource 설정설치&설정 관련/Spring Framework 2021. 6. 25. 23:54
회사내에서 배치 작업을 잠시 하게 되었습니다. 오랜만에 자바를 사용해보는거라 재미있네요. 스프링 설정은 이젠 javaconfig 만으로 웬만한 설정은 다 할수 있습니다. 추가 정보 : 스프링 배치에 대한 문서는 토리맘님의 한글 라이즈 프로젝트에 한글로 번역된 문서가 있습니다. Spring Batch Introduction spring initializr를 활용한 프로젝트 생성 SpringBatch의 초기 프로젝트를 spring initializr에서 생성 합니다. 제가 준 옵션은 아래와 같습니다. Gradle을 사용하고, Jdk는 1.8을 지정하였습니다. Mysql은 Spring Batch의 Meta데이터를 저장하는 용도이며, H2 DB는 개발용으로, Oracle는 배치 데이터의 조회 & 적재용으로 사용..
-
SpringBoot에서 Websocket 사용하기설치&설정 관련/Spring Framework 2018. 10. 5. 16:53
SpringBoot에서 Websocket 사용하기Websocket 이란?서버와 클라이언트 사이에 양방향 통신 채널을 구축할 수 있는 통신 프로토콜이다. 동작 방식은 먼저 HTTP 통신을 연결하고 이후 Upgrade 헤더를 보내 양방향 연결로 업그레이드한다. Websocket은 최신 브라우저에서는 대부분 지원한다.전체 소스는 참고 내역에 있는 소스를 확인하면 된다.주요 설정은 다음과 같다.1. WebSocket Configurationpackage com.example.websocketdemo.config; import org.springframework.context.annotation.Configuration; import org.springframework.messaging.simp.config.Me..
-
Spring Controller 문서 만들기설치&설정 관련/Spring Framework 2017. 5. 18. 09:12
Spring Controller에 대하여 표 형식의 문서를 만들어 주는 프로그램입니다. Source 바로가기 기본 사항 JRE 1.8 이상이 설치되어 있어야 합니다.실행은 junit으로 GeneratorSpringControllerDoc.java 을 실행합니다.docx 형식의 샘플 템플릿은 resource 에 있습니다. 주요 기능* Spring Controller 에 연결 정보를 표 형식으로 표출 샘플 출력 결과
-
[TIP]Spring MVC 에서 ResponsBody로 String 을 전달시 한글 깨짐 현상 해결설치&설정 관련/Spring Framework 2017. 2. 23. 12:05
Spring MVC 에서 ResponsBody로 String 을 전달시 한글 깨짐 현상 해결Controller에서 단순한 문자열(String)을 ResponseBody로 전달 할 경우, 깨지는 현상이 발생할수 있습니다. 코드는 다음과 같습니다.@RequestMapping(value="/preview/{id}", method=RequestMethod.GET) public @ResponseBody String getContent(@PathVariable("id") long id) { return service.getContent(id); }한글이깨지는 원인은 브라우져에서 해당 요청에 대한 응답의 헤더 값을 보면 다음과 같이 표현 되어 있습니다.Content-Type:application/json;charse..
-
Controller의 @RequestBody 에서 XSS 처리 방법설치&설정 관련/Spring Framework 2016. 7. 22. 16:56
XSS를 네이버에서 만든 Lucy의 servlet-filter 를 이용하여 지금까지 쉽게 처리 해 왔습니다. XSS 관련해서 POST로 처리 하는 부분이 제대로 동작 하지 않는 것을 확인하여 체크해본 결과 Lucy는 RequestParameter관련한 지원만 합니다. 따라서 Spring에서 @RequestBody를 이용한 부분은 처리할 수 없습니다. 이에 구글링으로 검색해본 결과 MessageConverter를 이용하여 처리 하는 방법을 확인 하였습니다. 처리 방법은 spring 4.2.5 기준으로 다음과 같습니다. 먼저 다음과 같은 ObjectMapper를 가진 FactoryBean을 생성 합니다. package kr.pe.lahuman;import org.apache.commons.lang3.Stri..
-
[TIP]Aspect 를 이용한 공통 BindingResult 처리 방법설치&설정 관련/Spring Framework 2016. 5. 24. 16:25
Aspect 를 이용한 공통 BindingResult 처리 방법validation 을 다음과 같이 처리를 한다.VO에서 Vaildation 관련 설정@Data @JsonInclude(Include.NON_NULL) public class RolesVO { @NotNull(groups={ValidationGroup.Update.class}) private Long roleSeq; @NotBlank(groups={ValidationGroup.Insert.class, ValidationGroup.Update.class}) private String roleId; @NotBlank(groups={ValidationGroup.Insert.class, ValidationGroup.Update.class}) priv..