Log 관련 프레임워크 간단 설명 Title Desc log4j Apache에서 개발한 가장 오래된 로깅 프레임워크로 2015년 기준으로 개발이 중단되었다. log4j2 log4j 다음 버전으로 필터링 및 자동 리로딩 기능 등을 지원한다. logback log4j 보다 향상된 기능으로 대중적인 로깅 프레임워크이다. 스프링부트의 기본 로깅 프레임워크이다. slf4j 직접적으로 로깅을 하는 프레임워크가 아니고 logger의 추상체로 인터페이스와 같은 역할을 한다. slf4j로 로그를 남기지만 실제 구현 프레임워크는 logback 이나 log4j2가 될 수 있다. Log 프레임워크의 기본 구성 Appender 로그 출력 관련된 설정으로 Console, File, JDBC 등을 설정할 수 있다. Logger 로..
Application 실행 환경에 따른 설정을 위해 profile 설정을 추가합니다. 스프링부트에서는 기본 설정을 application.properties에 하는데 개발 환경에 따라 달라지는 값들은 profile을 추가함으로써 동적으로 이용가능합니다. 추가하는 방법은 간단합니다. application-[profile].properties 이 규칙으로 파일을 생성하면 됩니다. 일단 세개의 파일을 생성합니다. application-local.properties application-dev.properties application-product.properties 내용 application-local.properties ----------------------------- spring.thymeleaf.cac..
요청 값 처리에 대한 설정 부분입니다. 요청 문자열에 대한 type converter 설정 Json 관련 설정(json to object, object json) 1. 요청 문자열에 대한 type converter 설정 @Autowired(required = false) private Converter[] converters; @Override public void addFormatters(FormatterRegistry registry) { if(converters != null) { for(final Converter converter : converters) { registry.addConverter(converter); } } NumberStyleFormatter numberFormatter = ..
Jackson 직렬화 관련 주요 어노테이션 annotation Description *@JsonIgnore @JsonIgnoreProperties @JsonIgnoreType 해당 필드는 무시. deserialize / serialize에서 제외 *@JsonProperty json 필드명과 객체의 속성명이 다를 때 사용하며 해당 속성에는 read only, write only 등이 있다. @JsonSetter @JsonGetter 특정 필드의 setter/getter를 대체할 때 사용 @JsonPropertyOrder 직렬화 순서 지정 @JsonRawValue json 형태의 문자열인 value를 문자가 아닌 json으로 변환한다. @JsonValue 직렬화에 사용할 단일 메소드 이 메소드의 반환 값으로..
1. Header Content-type과 Accept의 이해 Content-type은 Http 통신에서 메시지를 전달할 때 request body의 데이터 형식을 의미한다. "이런 형식으로 전달하니 받으세요" 라는 의미이다. key=value 형식에서는 아무 의미가 없으며 content-type을 지정하지 않으면 일반 텍스트로 인식한다. Accept는 서버에서 결과를 줄 때 "이런 형식으로 내려 주세요" 라는 의미이다. 2. dependency 추가 com.fasterxml.jackson.dataformat jackson-dataformat-xml xml 형식으로 데이터를 반환하기 위해서 필요한 라이브러리이다. Accept 지정없이 요청을 하면 결과 값이 xml로 반환된다. 3. 테스트 @Slf4j @..
환경 설정을 통한 일괄 적용 @Configuration public class WebMvcConfiguration extends WebMvcConfigurationSupport { ... @Autowired(required = false) private Converter[] converters; @Override public void addFormatters(FormatterRegistry registry) { if(converters != null) { for(final Converter converter : converters) { registry.addConverter(converter); } } NumberStyleFormatter numberFormatter = new NumberStyleFor..
Date, DateTime, Boolean, enum, Number 타입 등 요청 값을 적절하게 포맷팅하고 컨버팅할 필요가 있습니다. 이런 처리는 크게 세가지 방법으로 처리 가능합니다. 1. 요청레벨 : 요청시 파라미터에서 설정으로 통해 처리하는 방법. 2. 클래스레벨 : @InitBinder를 통해 해당 컨트롤러 전체에 동일 적용하는 방법. 3. 프로젝트레벨 : WebMvcConfigurationSupport 설정을 통해 프로젝트 전체에 적용하는 방법 요청레벨에 따른 처리 방법은 이전 글에 정리를 했고 이번에는 @InitBinder 부분입니다. 실무에서는 주로 환경 설정을 통해 전체 적용하는 방법을 많이 쓰기 때문에 간단한 예제만 만들어 봤습니다. 예제 @Slf4j @RestController @Req..
Request parameter 관련 정리 내용입니다. 1. @RequestParam 처리 2. 객체 매핑 3. @RequestBody 처리 4. Boolean, Date, DateTime, enum 등 처리 1. @RequestParam 처리 @RequestParam은 파라미터에서 하나의 값을 추출할 때 이용이 됩니다. String id = (String)request.getParameter("id"); 이렇게 값을 받을 수 있는데 이런 부분을 쉽게 처리할 수 있도록 해주는 어노테이션입니다. @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { @AliasF..
URI의 path를 다양한 형태로 매핑하는 예제를 만들어 봅니다. java @Slf4j @RestController @RequestMapping("/controller/path") public class PathVariableAPIController { /** * 단순 매핑 테스트 * @return */ @GetMapping("/{id}") public ResponseEntity simple(@PathVariable String id) { log(id); return ResponseEntity.ok(id); } /** * required false test * @param id * @return */ @GetMapping(value = { "/requiredfalse", "/requiredfalse/{i..
요청 시 컨트롤러의 메소드에 어떻게 매핑되는지 기본적인 annotation에 대해 이해한다. Request Mapping Annotation 종류 Annotation Target Method Remark @RequestMapping @Target({ElementType.TYPE, ElementType.METHOD}) All 전체 @GetMapping @Target(ElementType.METHOD) RequestMethod.GET 조회 @PostMapping @Target(ElementType.METHOD) RequestMethod.POST 등록, 생성, 저장 @PutMapping @Target(ElementType.METHOD) RequestMethod.PUT 수정 @DeleteMapping @Targ..
- Total
- Today
- Yesterday
- java
- 스프링
- Javascript
- mapToList
- restful서비스
- oracle
- UI
- 엑셀
- REST
- AG-GRID
- Spring Boot
- lombok
- ag grid
- 메시지
- springboot
- 스프링부트
- 그리드
- 설정
- mybatis
- listToMap
- 타임리프
- spring
- thymeleaf
- 예제
- example
- RESTful
- 샘플
- cache
- SHEETJS
- sample
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |