SpringBoot 8

SpringBoot - stream, reChart (2024.05.19)

2024.05.19(일) 1. stream 이전 인턴 과정에서 forEach를 계속 사용해서 배열에 담아준 다음 전달하는게 너무 귀찮아서 stream메서드를 사용해서 처리했는데 한 번 더 정리하는 겸 해서 작성. return으로 전달할 곳에 배열을 stream() 메서드 사용 후  map() 안에 각 요소를 뽑고 난 다음 변경할 Dto 타입으로 builder로 감싸고 build() 이후 .collect(Collectors.toList()) 메서드 처리하면 된다.  여기서 collect() 메서드는 stream()에서 요소를 수집하는 최종 연산이며, 스트림의 요소를 수집해서 컬렉션 형태로 반환하고, Collector 인터페이스를 구현한 객체를 인수로 받음. 그리고 Collectors.toList() 메서드..

SpringBoot 2024.05.19

SpringBoot - findAllBy, addAll, Between, Cors (2024.05.16)

2024.05.16(목)  1. findAllBy 해당 테이블의 PK가 아닌 다른 컬럼에 해당하는 모든 데이터를 조회할 때 사용. 여기서 만약 해당 테이블에 FK가 있고 FK에 해당하는 특정 컬럼으로 조회할 때는 컬럼_컬럼 이렇게 하는데 예시는 아래와 같으며 정정해야할 정보가 있다면 댓글에 남겨주시면 감사하겠습니다. 그리고 지난 인턴과정에서 PK가 아닌 특정 컬럼으로 조회하기 위해 findBy 또는 findAllBy로 조회하려 했는데 안된 경험이 있다. 이유는 컬럼명을 스네이크 케이스로 컬럼명을 작성해서 조회가 안됐으며 JPA를 위해선 보통 카멜 케이스로 작성한다고 한다. 2. addAll 구현하려던 것이 프론트에서 특정 일자를 String 타입으로 서버에 전달하면 StockRepository에 있는 모..

SpringBoot 2024.05.17

SpringBoot - @Schedulder, @Data, Builder (2024.05.15)

2024.05.15(수)  1. 스케줄러 main에 @EnableScheduling 어노테이션을 적용 후 controller에서 @Scheduled 어노테이션의 cron 속성을 활용하여 주식장이 열리는 시간과 유사하게 우선은 월요일에서 금요일 오전 9-15:30분까지 조회하되 4분 주기로 조회하도록 코드를 작성// controller@Scheduled(cron = "0 */4 9-14 * * 1-5")@Scheduled(cron = "0 0-30/4 15 * * 1-5")public void getStockScrapScheduled() throws IOException{ stockService.saveStockService();}// servicepublic void saveStockService(..

SpringBoot 2024.05.15

SpringBoot - 단순 정리 및 고려, 추가 사항 (2024.05.14)

2024.05.14(화)  1. @GeneratedValue 기본 키를 생성하는 방식을 지정하며, strategy 속성으로 생성 전략을 설정 2. @RequiredArgsConstructor 해당 클래스의 모든 final 필드 또는 @NotNull으로 표시된 필드를 가지고 있는 생성자를 자동으로 생성할 수 있음. 3. 영속화 엔터티 객체를 데이터베이스에 저장하는 것을 의미. 4. createdAt 기본적으로 builder로 감싸서 repository.save()를 통해 저장한다면 자동으로 생성되지만, 직접 엔터티 객체를 생성해서 저장 하려한다면 @CreatedDate 어노테이션을 사용한 CreateEntity 클래스를 상속받아 사용하더라도 저장시 setter를 사용해서 LocalDateTime.now()..

SpringBoot 2024.05.14

SpringBoot - JPA, 단방향 연관 관계, @ManyToOne (2024.05.13)

요즘 뭔가 따로 작성하기엔 너무 범위가 왔다갔다해서일기 형식으로 공부했던걸 작성하는 용도로라도 기록하기 위해 작성함. 1. OneToMany 속성 중 orphanRemoval = true는?부모 엔터티가 자식 엔터티를 제거할 때 자식 엔터티가 정구적으로 삭제되도록 하기.orphans => 고아즉. 부모-자식 관계에서 고아로 생각할 수 있는 자식 엔터티가 부모와의 관계가 끊긴 후 DB에 남아있게 하지 않으려면 true, 아니면 false나 설정안하면 됨(default). 2. @Lob엔터티 클래스의 속성이 DB에 매핑될 때 사용.Large Object를 나타내며, 매우 큰 데이터나 바이너리 데이터를 나타내는 속성에 적용.3. Entity명클래스명을 DetailStockEntity라고 했다면 DB의 테이블명..

SpringBoot 2024.05.13

SpringBoot - Spring Security로 비밀번호 암호화 (maven)

- pom.xml org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-security - config.SecurityConfig 아래 코드에선 모든 요청에 대해 접근을 우선 허용 (Swagger에 접근이 안되기에) 그리고 비밀번호 암호화 코드는 passwordEncoder() 메서드를 참고 package com.server.login.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframewo..

SpringBoot 2024.02.19

SpringBoot - 전자정부프레임워크 셋팅

아래 내용은 비전공자의 독학으로 인해 알아가는 과정이다 보니 해당 과정에 문제점이 있거나 수정이 필요하다면 언제든지 댓글에 작성해주셔도 됩니다 :) 1. 전자정부프레임워크 설치 https://www.egovframe.go.kr/home/main.do 표준프레임워크 포털 eGovFrame 본문 내용 바로가기 대메뉴 바로가기 소개 구성 구성상세 버전별 구성 오픈소스 SW 현황 아키텍쳐 라이선스 적용사례 추진성과 기술지원내역 컨트리뷰션 센터소개 지원서비스 적용지원 서비스 www.egovframe.go.kr 위 링크로 들어가서 원하는 버전 설치 ( 작성자는 윈도우 4.1버전 다운) - 다운로드 -> 개발환경 -> 4.x 다운로드 -> 개발자용 개발환경 64bit(Implementation Tool) Versio..

SpringBoot 2024.02.19