본문 바로가기

spring6

Spring에서 XML 형식 응답 처리 방법 Spring에서 API의 응답을 일반적인 JSON 형식이 아니라 XML 형식으로 응답하는 방법에 대해 정리합니다. 1. build.gradle에 jackson-dataformat-xml 라이브러리를 추가합니다. https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml 를 참고하여 현재 프로젝트의 의존성에 맞는 버전으로 추가합니다. implementation (group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-xml', version: '2.13.3') 2. JacksonConfig 클래스를 추가합니다. @Configuration.. 2023. 12. 6.
스프링 패키지 구조(Spring Package Structure) - 계층형 vs 도메인형 주절주절,,🗣 회사 프로젝트가 기존에는 모두 계층형이었으나, 이번에 한 프로젝트를 전체 리팩토링 하면서 도메인형으로 변경하게 되었다. 이로써 이제 계층형과 도메인형도 혼합되어 존재하게 되었는데, 앞으로는 모두 도메인형으로 바꿀까? 요즘 도메인형이 더 선호되는 것 같기도 하지만, 개인적으로 무조건 도메인형이 좋다고 생각되진 않는다. 그래서 나름의 기준을 가지기 위해 간단히 정리해보았다. 패키지 구성은 크게 두 가지 유형이 있다. 1️⃣ 계층형 2️⃣ 도메인형 계층형 ex) Application.java └ /controller └ /service └ /repository 장점 해당 프로젝트에 이해가 상대적으로 낮아도 전체적인 구조를 빠르게 파악할 수 있음 단점 디렉토리에 클래스들이 너무 많이 모이게 됨 모.. 2022. 5. 14.
Jsoup으로 크롤링하기 build.gradle에 의존성 추가 implementation 'org.jsoup:jsoup:1.13.1' url로 크롤링할 페이지 접근하기 String crawlingURL = "크롤링할 주소"; Document document = Jsoup.connect(crawlingURL).get(); 원하는 정보 찾기 getElementById getElementsByTag getElementsByClass getElementsByAttribute 특정 정보 text로 변환하기 String info = elements[0].select("td").text(); 공식 문서에 더욱 자세한 정보가 나와있습니다. https://jsoup.org jsoup Java HTML Parser, with the best of.. 2020. 4. 12.
Spring Validation Annotation 총정리  @Valid를 통해 데이터의 유효성 검사를 수행할 수 있는 javax.validation와 org.hibernate.validation 패키지가 제공하는 Validation Annotation들을 총 정리한 글입니다. 맨 아래에 사용 예시와 테스트 코드가 있습니다. @AssertFalse 주석이 달린 요소는 거짓이어야 합니다. 지원되는 타입은 boolean과 Boolean 입니다. null 요소는 유효한 것으로 간주됩니다. @AssertTrue 주석이 달린 요소는 참이어야 합니다. 지원되는 타입은 boolean과 Boolean 입니다. null 요소는 유효한 것으로 간주됩니다. @DecimalMax(value*=, inclusive=) 주석이 달린 요소는 value보다 작거나 같아야합니다. 지원되는 .. 2020. 1. 14.