본문 바로가기

반응형

분류 전체보기

(482)
[spring boot 설정하기-8] security 설정 및 테스트 소스 인증은 어디서나 중요한 부분인데 spring boot에서는 기본적으로 제공해주는 security가 있습니다. 설정하는 방법과 사용하는 방법이 방대하여 기본적인 설정방법만 작성합니다. 관련 정보는 아래 사이트에서 확인할 수 있습니다. docs.spring.io/spring-security/site/docs/5.0.19.RELEASE/reference/htmlsingle/ spring.io/guides/gs/securing-web/ 1. 의존성 추가 로그인 화면을 만들기 위해 "thymeleaf"도 포함합니다. implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot..
[Mysql] You are using safe update mode 상황 Mysql에서 데이터를 지우려고 하는데 에러가 발생했습니다. Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 문제 파악 확인해 보니 테이블의 키값을 이용한 update나 delete만을 허용하는데 다른 범위의 sql을 적용하려고 하면 workbench에서 경고를 보냅니다. 해결 방법 1. 일시적인 Safe모드 해제 아래 쿼리를 실행합니다. set sql_safe_updates=0; 2. ..
[Liquibase] class java.time.LocalDateTime cannot be cast to class java.lang.String 상황 spring boot를 최초에 실행하면서 Liquibase가 DB를 만들고 나중에 다시 실행을 하는데 계속 에러가 발생했습니다. Liquibase 특성상 DB 변경 없이 재실행을 해도 정상적으로 동작이 되어야 하는데 동작되지 않았습니다. 문제 파악 설정에 문제가 있는지 설정을 다시 맞춰보아도 문제가 발생되지 않았습니다. cast에 대한 문제로 보아 Liquibase와 Spring과의 호환 문제라고 추측하고 구글링을 했습니다. 해결 방법 얼마 전에 올라온 답변이네요. Spring이 아닌 mysql-connector-java v.8.0.23과 liquibase-core v.3.10.3에서 발생하는 문제이고 버전을 liquibase-core v.4.3.1로 변경하면 해결할 수 있다고 합니다. 실제로 버전..
[Intellij] 인텔리제이 .properties 파일 유니코드 한글 변환 방법 인텔리제이를 사용하다보면 메시지를 모아둔 properties가 유니코드로 되어 있어서 한글로 봐야하는 경우가 있습니다. 자체 설정을 수정하여 변경할 수 있습니다. 1. 유니코드로 표시되는 한글 1-1. message.properties 파일 위치 1-2. message.properties 파일 2. 인텔리제이 환경 설정 2-1. File > Settings를 선택 혹은 Ctrl + Alt + s 단축키 입력 2-2. FIile Encoding 설정 Global Encoding : utf-8 Default encoding for properties files : utf-8 Transparent native to-ascii conversion : 체크 3. 유니코드를 한글로 변경 한 결과
[spring boot 설정하기-7] restdocs 설정 및 테스트 소스 swagger와 유사하게 API를 자동으로 문서화할 수 있도록 도와줍니다. swagger의 장점은 적용하기 쉽고, api 테스트 화면 제공이고 단점으로는 어노테이션을 추가, 동기화가 불일치할 수 있음 restdocs의 장점은 코드에 영향을 받지 않고 테스트가 성공 후 문서화가 되고 단점은 적용이 어려움 아래 사이트에서 관련 정보를 얻을 수 있습니다. docs.spring.io/spring-restdocs/docs/current/reference/html5/ www.baeldung.com/spring-rest-docs 1. 의존성 추가 plugins { id 'org.asciidoctor.convert' version "1.5.6" // (1) } dependencies { asciidoctor 'org...
[spring boot 설정하기-6] querydsl(+JPA) 설정 및 테스트 소스 쿼리를 소스로 작성해야 하는 경우가 있는데 세련 된 방식으로 사용할 수 있도록 도와줍니다. SQL, JPQL을 코드로 작성을 도와주는 빌더 API입니다. JPA에서 제공하는 @Query에서 다양한 조회를 하기에는 다소 한계가 있는데 이를 해결하기 위한 조회 프레임워크로 querydsl이 있습니다. JPA를 좀더 효율적으로 사용할 수 있도록 도와줍니다. 관련 정보는 아래 사이트에서 얻을 수 있습니다. www.querydsl.com/ www.querydsl.com/static/querydsl/4.0.1/reference/ko-KR/html_single/ 1. 의존성 추가 apply plugin: "io.spring.dependency-management" compile("com.querydsl:queryds..
[spring boot 설정하기-5] liquibase 설정 및 연동 소스는 형상관리가 되지만 DB는 형상관리가 잘 되지 않아 곤란한 적이 있습니다. ERD를 통해 현재의 정보를 확인할 수 있지만 새로운 환경에 배포해야 하거나 달라진 점을 하나하나 확인해야 합니다. 특히 개발 서버와 운영 서버가 달라진 점을 바로 알아차리기 어렵습니다. 이러한 문제점을 해결 할 수 있는게 liquibase입니다. 관련 정보는 아래 사이트에서 찾아볼 수 있습니다. https://www.liquibase.org/ https://www.liquibase.org/documentation/xml_format.html liquibase는 spring boot에 연동해서 사용할 수도있고 단독으로 db 구성을 사용하는데 사용할 수도 있습니다. 1. 의존성 추가 implementation 'org.liqu..
[spring boot 설정하기-4] Swagger 설정 및 사용 방법 개발하다보면 API를 정리해야 하는 경우가 생기는데 이를 자동으로 문서화 해주는 툴 중 하나입니다. OAS(Open Api Specification)으로 API의 스펙(spec)을 관리할 수 있습니다. 아래 사이트에서 관련 정보를 볼 수 있습니다. swagger.io/ https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api 1. 의존성 추가 swagger2와 swagger-ui 2개를 기본적으로 추가해주어야 하는데 start를 추가하면 안에 다 들어있어서 편리합니다. // https://mvnrepository.com/artifact/com.spring4all/swagger-spring-boot-starter // implementati..

반응형