본문 바로가기

Java Spring Boot

(82)
자바 객체 vs 배열의 차이 배열과 객체의 차이점JSON에서 배열과 객체는 여러 데이터를 묶어놓은 집합이라는 점에서 서로 비슷한 타입입니다.하지만 객체는 프로퍼티의 집합이며, 배열은 데이터값의 집합이라는 차이가 있습니다. 예제{ "dog": [ "웰시코기", "포메라니안", "푸들", { "ownerName": "홍길동", "phone": "01012345678" } ]} 위의 예제에서 "dog"라는 이름의 JSON 배열은 문자열뿐만 아니라 객체도 요소로 가지고 있습니다. 대부분의 프로그래밍 언어에서 배열은 여러 타입의 데이터를 동시에 가질 수 없습니다.하지만 자바스크립트 기반의 JSON 배열은 여러 타입의 배열 요소를 ..
내가 디버깅을 실패한 이유!? (Debugging issue) Break Point는 잘 설정 하였지만,실제로 해당 메서드를 실행하지 않았기 때문에제대로 된 실행을 못 했었음.public List search(String productName) { //1-1.productName을 가지고, ProductEntity에서 categoryId 가져오기 List productList = this.productRepository.ByProductName( productName); System.out.println("productList : " + productList); . . . 만약 이런 메서드가 있다면, search 이름을 가진 메서드를 api에서 (포스트맨) 실행을 해줘야 디버깅 작업을 할 수 있게..
postman에서 내가 한 실수들(datetype) { "productName": "맥모닝9", "price": "5,500원", "categoryName": "카테고리1", "expiredDate": "2024-12-12", "status": "판매 전", "imageUrl": "https://www.google.com/mcdonalds1"} expiredDate의 데이터타입을 sql, intellij에서는 DATETYPE으로 설정해서,"2000-01-01"의 형식으로 설정이 되어야 되는데,"2024년 01월 01일" 이런식으로 String으로 입력해서 에러 생겼었음-> 터미널에는 아무런 메시지 안 띄워줘서 더 헤맸음.
Optional<> 에서 값 가져오는 법 Optional product = this.productRepository.categoryIdByProductName( productName); System.out.println("product : " + product); //Optional에서 벗겨주고, 그 다음 변수를 하나 만들어서, 해당 값(categoryId)을 가져오기. ProductEntity category = product.orElseThrow( () -> new CustomException(ErrorMessage.NOT_FOUND_PRODUCT)); Long categoryId = category.getCategoryId();
기타. 시큐리티 버전별 구현 방법 최종 변경 : 2024.03.22시큐리티 버전별 특성스프링은 버전에 따라 구현 방식이 변경되는데 시큐리티의 경우 특히 세부 버전별로 구현 방법이 많이 다르기 때문에 버전 마다 구현 특징을 확인해야 한다.새로운 버전이 출시될 때마다 GitHub의 Spring 리포지토리에서 Security의 Release 항목을 통해 변경된 점을 확인할 수 있다.https://github.com/spring-projects/spring-security/releases주요 버전별 구현 스프링 부트 2.X.X ~ 2.6.X (스프링 5.X.X ~ 5.6.X)public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void c..
for(AreaEntity areaEntity : areaEntities) 해당 for문에서, for(AreaEntity areaEntity : areaEntities)areaEntity는 areaEntities 값들 중 하나의 값이며,당연히 areaEntity와 areaEntities는 AreaEntity타입을 가진다.쉽게 말하면,areaEntities가 area(구역)에 대한 모든 값들을 가지고 있고,areaEntity는 그 중 하나의 구역임. public List areaList() { //area는 구역이 몇개 안돼서, findAll로 해도 되는데, // 만약 userId 또는 productId였다면? // FindAll로 찾는건 전체 데이터를 가져오는 거라 비효율적일듯 List areaEntities = this.areaRepository.findAll(); ..
[ Valid vs Validation 차이 ]
[ layered Architecture / 레이어드 아키텍처 ] ** 아키텍처의 목적 * 계층형 아키텍처 * 클린 아키텍처 !! 계층형 아키텍처가 포함된 클린 아키텍처 * 헥사고날 아키텍처(육각형)