본문 바로가기

웹 개발/Back End34

이벤트 리스너 사용법 @Getter@RequiredArgsConstructorpublic enum EmailAlarmEventType implements StonEnumMapperType { GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM("GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM", "상품 판매 중단에 따른 스케줄링 취소 메일 알림"), DEFERRED_USE_LIMIT_MAIL_ALARM("DEFERRED_USE_LIMIT_MAIL_ALARM", "후불 마스터 사용 한도 알림"); private final String code; private final String title;} 첫번째로 이벤트 타입을 Enum 클래스를 생성합니다. 원하는 이벤트 타입을 예시.. 2024. 9. 17.
Java 헷갈리는 것들 모음 최근에 Java를 사용하면서 헷갈렸던 것들을 가져와봤습니다. 1. @AllArgsConstructor 주의점@AllArgsConstructor를 자주 사옹하지는 않지만 처음에 서버에서 오류가 나길래 한참 해맸더니 파라미터 순서를 지키지 않아서 발생한 오류였습니다.   2. final, static 개념final은 고정하는 것, static은 어디서든 접근할 수 있음fianl이 선언되면 해당 변수를 수정할 수 없고 클래스는 상속할 수 없습니다.static이 선언되면 해당 변수, 메서드를 다른 클래스에 공유해서 생성자를 만들필요 없이 바로 사용할 수 있습니다.   3. 정적 팩터리 메서드 개념객체를 생성할 때 생성자 방식보다 정적 팩터리 메서드를 주로 사용한다. 생성자 방식은 잘 사용하지 않는 이유는 여러 .. 2024. 9. 16.
마이바티스 사용법 쿼리에서 문자열 빈값 확인하기 이렇게 직접 null과 ""인지 확인하는 것 보다는 StringUtils를 사용하는게 더 안전하다고 합니다.       리스트 컬럼 가져오기  public Response(Long addressBookFolderNo, String folderName, LocalDateTime createdAt, List groupList) { this.addressBookFolderNo = addressBookFolderNo; this.folderName = folderName; this.createdAt = createdAt; this.groupList = groupList; } .. 2024. 9. 15.
@Mapper 사용법(Dto -> 엔티티 매핑) @Mapper는 어떻게 사용하는 어노테이션일까?   @Mapper(config = MapstructMapperConfig.class)public interface UserMapper { UserMapper INSTANCE = Mappers.getMapper(UserMapper.class); UserMain to(UserModifyDto.ModifyPasswordByKmcDi modifyPasswordByKmcDiDto); UserMain to(UserAwakenDto.Request request, UserStatus userStatus); UserMain to(UserPaymentRegisterDto.Request request, Long userNo);} @Mapper 어노테이션은.. 2024. 9. 9.
스프링 시큐리티 개념 스프링 시큐리티 스터디를 시작하게 되었는데 다음주 발표라서 급하게 만듭니다. 단어, 그림 위주로 넣고 발표할 때 자세히 설명할거임 -> 사유: 꽤바쁨     1. 교재   2. 스프링 시큐리티란?스프링 시큐리티는 Spring 기반의 애플리케이션에서 보안 기능을 제공합니다. 인증 : 사용자의 신원 확인인가: 사용자의 권한 확인 추가적으로 CSRF, XSS, 세션 변조 등 여러가지 웹해킹 공격을 방지해주는 기능을 제공합니다.   3. 왜 스프링 시큐리티를 사용하는가? 그냥 JWT 토큰만 사용하는거랑 무슨 차이가 있을까? 1. 직접 설정하기 귀찮다.-> JWT 코드@Slf4j@Service@RequiredArgsConstructorpublic class JwtService { public static f.. 2024. 5. 19.
JPA : Java Persistence API - 자바 진영의 ORM 기술 표준 1.1 ORM? - Object-relational mapping(객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ORM 프레임워크가 중간에서 매핑 - 대중적인 언어에는 대부분 ORM 기술이 존재 JPA를 사용하지 않는다면 객체 데이터를 보낼 때 objectMapper로 복잡하게 맵핑해야한다.. JPA는 인터페이스의 모음 JPA 2.1 표준 명세를 구현한 3가지 구현체 하이버네이트, EclipseLink, DataNucleus • JPA는 특정 데이터베이스에 종속 X, • 하이버네이트는 40가지 이상의 데이터베이스 방언 지원 1.2 JPA 구동방식 1.3 엔티티의 생명주기 • 비영속 (new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새.. 2022. 12. 22.
스프링 MVC 디자인 패턴의 역사 오랜만에 스프링을 복습하면서 작성해본다.. 서블릿이란? 서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 이후 웹 서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성 후 서버에서 실행되다가 웹 브라우저에서 서버에 요청(Request)을 하면 요청에 맞는 동작을 수행하고 웹 브라우저에 HTTP형식으로 응답(Response)합니다. HttpServletRequest, HttpServletResponse를 사용할 때 가장 중요한 점은 이 객체들이 HTTP 요청 메시지, HTTP 응답 메시지를 편리하게 사용하도록 도와주는 객체라는 점이다. 따라서 이 기능에 대해서 깊이 있는 이해를 하려면 HTTP 스펙이 제공하는 요청, 응답 메시지 자체를 이해해야 한다 JSP 란 Jav.. 2022. 12. 22.
Spring REST Docs Spring Rest Docs를 이용하여 API 스펙을 명시하는데 필요한 기본 설정을 하였다. https://github.com/Lemon-soju/Vue_Spring/commit/1b0be0f04b6b4b74a5eb05d2e4d1afa89c608a49 Merge pull request #14 from Lemon-soju/slave-01 · Lemon-soju/Vue_Spring@1b0be0f Spring REST Docs - Default Configuration github.com Spring Rest Docs란? API문서 작성을 자동화해주는 도구는 여러가지가 있지만 대표주자로 Swagger와 Spring Rest Docs가 있다. Swagger는 API 동작을 테스트하는 용도에 더 특화되어있다. .. 2022. 9. 15.
스프링 개념 정리(3) ObjectMapper Java 객체를 Json 형식으로 매핑하거나 Json 형식을 Java 객체로 매핑할 때 사용하는 클래스다. MockMvc란? MockMvc는 웹 어플리케이션을 애플리케이션 서버에 배포하지 않고 테스트용 MVC환경을 만들어 요청 및 전송, 응답기능을 제공해주는 유틸리티 클래스다. 다시 풀어서 이야기 하자. 내가 컨트롤러 테스트를 하고싶을 때 실제 서버에 구현한 애플리케이션을 올리지 않고(실제 서블릿 컨테이너를 사용하지 않고) 테스트용으로 시뮬레이션하여 MVC가 되도록 도와주는 클래스다! 🧐MockMvc 사용법 컨트롤러를 테스트한다고 가정하자! class ControllerTest{ @Autowired private MockMvc mockMvc; // mockMvc 생성 @Test p.. 2022. 9. 1.