본문 바로가기
반응형

전체 글918

springboot AOP 설정하기 자바에서 aop 에 대해서 이전 포스팅에서 다룬 글이 있다. 자세한 사항은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서는 springboot 에 aop 설정하는법에 대해서 다뤄 볼것이다. 개발 환경 springboot 3.0.5 maven 1. 우선 해당 라이브러리를 받아오기 위해 pom.xml 에 아래 dependency 를 추가한다. org.springframework.boot spring-boot-starter-aop 2. 다음은 maven 프로젝트 내에 main 메서드에 aop 사용을 위한 annotation 을 설정 해야한다. @EnableAspectJAutoProxy @SpringBootApplication public class AopProjectApplication { public st.. 2023. 5. 13.
[Map]getOrDefault 사용법 및 예제 자바에서 Map 에 대해서 설명은 많이 다룬적이 있다. 자세한 사항은 아래 참고 포스팅 참고 바란다. 짧게 설명하면 Map은 중복이 허용 안되고 Key Value로 이루어져있다. 그 특성을 활용해서 특정 리스트에 존재하는 Key 값들의 갯수를 구할때 getOrDefault를 사용한다. 예제는 아래와 같다. public static void main(String arg[]) { String [] alphabet = { "A", "B", "C" ,"A"}; HashMap hm = new HashMap(); for(String key : alphabet){ hm.put(key, hm.getOrDefault(key, 0) + 1); } System.out.println("결과 : " + hm); // 결과 : .. 2023. 5. 12.
[workbench] workbench에서 readonly 해제하기 mysql을 다루는데 많이 쓰이는 workbench의 장점중 하나가 grid 에서 바로 값을 수정할수 있다. 하지만 값이 read only 로 테이블이 잡혀있어서 수정이 되지 않을때가 있다. 그럴땐 PK를 지정해주면 해결이 된다. 2023. 5. 11.
윈도우 bat 파일에서 무한루프 돌리기 bat이란 배치 파일의 약자로 batch에 대한 개념은 아래 참고 포스팅 참고 바란다. 윈도우 배치 파일에서 스크립트 작성할때는 대표적인 반복문 While 문이 없기에, 무한루프를 사용하기 위해선 아래와 같이 작성을 해야한다. @echo off :loop set /a count+=1 echo %count%번 goto loop 그리고 특정 횟수 반복을 위해선 위 반복문에 코드를 적절하게 추가한다. @echo off :loop set /a count+=1 echo %count%번 if %count% ==10 goto break goto loop :break 문구를 보면 눈치 챘을수도 있지만 goto는 표시된 위치로 이동을 하게 된다. 참고 포스팅 https://thenicesj.tistory.com/507 .. 2023. 5. 10.
JPA Project Change Event Handler 대기 관련 개발 중에 JPA Project Change Event Handler (waiting) 위 메세지가 계속 나오면서 이클립스가 멈추거나 프리징 걸리는 현상이 발생했다. 해결법은 아래와 같다. 여기에서 JPA Configurator 부분을 언체크 해주면 된다. 2023. 5. 9.
ACCEPT_SINGLE_VALUE_AS_ARRAY json format 이전 포스팅에서 Jackson annotation 에 대해서 다룬 적이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. 이번 포스팅에서는 똑같이 jackson annotation이긴 하지만 다른 사용법으로 사용되는 annotation인 json format 중 하나를 다뤄볼 예정이다. Restapi 를 통해서 json 을 상하차 하다보면 어떨 경우에는 { "index": 1, "value": "one" } 이렇게 json 을 보낼경우가 있고, 상황에 따라 리스트로 { "index": 1, "value": [ "one", "two" ] } 이렇게 보내야 할 경우가 생길수도 있다. 그럴 경우에 dto 에 설정해줄수 있는 annotation 이다. public class Dto { @JsonProper.. 2023. 5. 8.
[error] org.springframework.data.mapping.PropertyReferenceException Caused by: org.springframework.data.mapping.PropertyReferenceException: No property 컬럼명 found for type Entity명! Did you mean '컬럼명'? JPA에서 Repository 단에 신규 메소드를 추가할때 위 에러가 발생할 경우 메소드명이 Entity에 존재하지 않기 때문에 사용할 수 없다는 뜻이다. 뒤에 이어서 나오는 Did you mean 컬럼명 의 경우에는 컬럼을 추천해주거나 2개의 컬럼이 나오면 두개의 컬럼이 헷갈리니 정확히 명시 해주면 된다. query 메서드에서는 camel 케이스의 규칙을 잘 맞춰줘야 함을 숙지하면서 jpa 개발을 하는것이 바람직하다. 2023. 5. 7.
JPA query Keyword2 (repository) 이전 포스팅에서 jpa 사용하는 query keyword에서 사용하는 메서드들을 정리한 글이 있다. (아래 참고 포스팅 참조) findById부터 시작해서 다양한 메서드가 있었는데 like 문에 대한 내용을 적은적이 없는것 같아서 적으려고 한다. 먼저 Like는 크게 3가지 방법으로 지정할수있다. 1. findByNameLike(String name); repository 에서는 이렇게 사용이 되며 service단에서 호출할때는 List list = repository.findByNameLike("%"+ dto.getName() +"%"); 이렇게 와일드카드를 붙여줘야한다. 이점이 불편해서 나온것이 2. findByNameContains / findByNameContaining / findByNameIs.. 2023. 5. 6.
[error] HttpMessageNotReadableException org.springframework.http.converter.HttpMessageNotReadableException restapi 테스트 중에 위와 같은 에러가 났다. 확인해본 결과 아래 내용이다. 원인 HTTP GET 요청의 body 형식을 Text로 보냈기 때문 해결 HTTP GET 요청의 body 형식을 JSON으로 변경하여 해결 2023. 5. 5.
반응형