[Spring] @DeleteMapping 파라미터로 List 받기
2024. 5. 13. 11:35
프로그래밍/Spring
@DeleteMapping일반적으로 HTTP DELETE 요청은 요청 본문에 데이터를 담지 않기에 @RequestParam, @RequestBody를 사용하는 것이 적절하지 않을 수 있음대신 @PathVariable을 사용하여 경로 변수 사용하여 파라미터를 추출함 @PathVariable 사용 예시import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;@RestControllerpublic class ItemController { // Long 리스트를 파라미터로 받는 메소드 @DeleteMapping("/deleteItems/{itemIdList}") public void deleteItems(@P..
[Spring] VO, DAO, DTO 간단한 개념 정리
2023. 6. 5. 20:40
프로그래밍/Spring
VO, DAO, DTO 비교 VO는 데이터를 담는 불변 클래스로 사용되고, DTO는 데이터 전송을 위한 가변 클래스로 사용되며, DAO는 데이터 액세스를 추상화하고 실제 액세스를 처리하는 인터페이스와 구현체를 제공함 VO(Value Object) 값 오브젝트로 비즈니스 로직을 포함하지 않고 데이터를 담는 용도로 사용 일반적으로 변경 불가능한(immutable) 객체로 설계하며, 객체의 상태를 변경하는 대신 새로운 객체를 생성하여 전달 read-Only 특징 DTO와 유사하지만 DTO는 setter를 가지고 있으며, 주로 데이터베이스의 엔티티와 매핑되는 불변 클래스로 사용됨 DAO(Data Access Object) 데이터베이스의 data에 접근하기 위한 객체입니다. DAO는 데이터 액세스를 위한 CRUD..
[Spring Security] 인증과 인가 간단 정리
2023. 3. 23. 22:25
프로그래밍/Spring
인증(Authentication) 사용자가 누구인지 확인하는 과정 예를 들어, 로그인 시스템에서 사용자가 제공한 아이디와 비밀번호를 검증하여 해당 사용자가 맞는지를 확인하는 과정 대표적인 인증 방법은 사용자 이름과 비밀번호, 생체 정보, 전자서명 등 인가(Authorization) 사용자가 접근하고자 하는 시스템 자원에 대한 권한을 확인하는 과정 예를 들어, 은행 애플리케이션에서 사용자가 인증되었다면, 그 사용자에게 입금, 출금 등의 기능을 수행할 권한이 있는지를 결정 인증은 인가의 전제 조건이 되며, 인증이 완료되어야 인가 과정을 거칠 수 있음 즉, 인증된 사용자가 특정한 작업을 수행하기 위해서는 그 작업에 대한 권한이 있어야 함
[Spring Error] cannot deserialize from Object value (no delegate- or property-based Creator)
2022. 9. 29. 20:22
프로그래밍/Spring
cannot deserialize from Object value (no delegate- or property-based Creator) 에러 발생 jackson 라이브러리가 빈 생성자가 없는 모델을 생성하는 방법을 모르기 때문에 발생함 💡 해결 방법 @NoArgsConstructor를 추가하여 빈 생성자 생성 수정 전 코드 👇 @Getter @AllArgsConstructor public class UserLoginRequest { private String userName; private String password; } 수정 후 코드 👇 @Getter @NoArgsConstructor @AllArgsConstructor public class UserLoginRequest { private Str..
[lombok Error] 롬복 설치했으나 @getter@setter 안 먹히는 경우
2022. 9. 2. 20:58
프로그래밍/Spring
lombok 설치 후에도 getter, setter 등 에러가 뜨는 경우 lombok 버전 변경 후 재설치를 진행해보기 1️⃣ pom.xml에 lombok 버전 변경 org.projectlombok lombok 1.18.12 provided 2️⃣ lombok.jar 파일 다운로드 ⚙️ 다운로드 링크 pom.xml에 설정해놓은 버전과 동일한 버전 다운로드 후 설치 진행 3️⃣ lombok 설치 관리자 권한으로 cmd 실행 → jdk의 bin 경로 이동 cd C:\jdk경로\bin → java -jar C:\lombok경로\lombok.jar 실행 → Specify location... 클릭 후 eclipse.exe 경로 찾아서 선택 → Install / Update 클릭 → eclipse 재시작
[Spring Error] 메이븐 프로젝트 서버 구동 시 에러 정리(+ pom.xml 플러그인 에러)
2022. 9. 1. 20:30
프로그래밍/Spring
서버 구동 시 에러와 pom.xml 에러 정리 1️⃣ 서버 실행시켰으나 아무런 반응이 없는 경우 2️⃣ configuring application listener of class org.springframework.web.context.ContextLoaderListener 에러 3️⃣ pom.xml 쪽에 에러가 뜨는 경우 서버가 실행되는데 파일이 하나도 안 올라옴 Properties > Deployment Assembly 에 경로가 잘 설정 되었는지 확인 예시 이미지처럼 설정이 없다면 설정해주기 ❌ 아무리 설정을 해도 다 지워진다면 {project}/.settings/org.eclipse.wst.common.component 이 파일을 확인해 볼 것 여기 아무것도 추가가 안되어 있다면 직접 설정해주기 ..
[Spring Error] cvc-id.3: A field of identity constraint 'web-app-filter-name-uniqueness' matched element 'web-app', but this element does not have a simple type.
2022. 8. 30. 20:32
프로그래밍/Spring
cvc-id.3: A field of identity constraint 'web-app-filter-name-uniqueness' matched element 'web-app', but this element does not have a simple type. 이런 에러가 뜬다면? web.xml에서 상단 web-app 관련 http://java.sun.com 명시된 부분들을 👉 http://JAVA.sun.com 혹은 http://Java.sun.com으로 변경
[Spring Scheduler] 스케줄러 간단한 설정 방법
2022. 8. 23. 20:49
프로그래밍/Spring
스케줄러 간단한 설정 방법 정리 프로젝트를 하다보면 스케줄러를 설정해야 할 일이 종종 있음 bean 설정 파일을 수정하고 스케줄러에 등록할 내용만 작성하면 됨 1️⃣ bean 설정 파일 수정 servelt-context.xml에 표시해놓은 내용 추가 코드 예시 👇 2️⃣ Scheduler Service 작성 위의 class에 작성해준 경로와 일치해야 함 5초마다 실행되는 스케줄러 작성 상세 설정이 필요한 경우 cron으로 작성하는 것이 편리 코드 예시 👇 package com.project.solr.common; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @..