springboot 10

SpringBoot - JWT 필터를 활용한 전역 인증 구현

1. JWT 기반 인증의 흐름JWT를 사용한 인증 과정은 다음과 같이 진행됩니다:사용자가 로그인하면 서버는 사용자 정보를 검증한 후, JWT 토큰을 생성하여 클라이언트에 반환합니다.클라이언트는 이후 요청 시마다 이 JWT를 헤더에 포함하여 서버로 전달합니다.서버는 전달받은 JWT의 유효성을 검증한 후 요청을 처리합니다.2. 프로젝트 환경 설정Spring Boot 3.xDependencies: Spring Web, Spring Security, jjwt(JSON Web Token), LombokMaven Dependency 추가: io.jsonwebtoken jjwt-api 0.11.5 io.jsonwebtoken jjwt-impl 0.11.5 io.jsonwebtok..

SpringBoot 2024.11.26

SpringBoot -비밀번호 암호화 및 사용자 인증하기

1. 프로젝트 설정Maven 의존성 추가먼저, 비밀번호 암호화를 위해 Spring Security 의존성을 추가합니다. org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web  2. 비밀번호 암호화(Bcrypt)Spring Security에서 제공하는 BCryptPasswordEncoder를 사용해 비밀번호를 암호화합니다.PasswordUtil 클래스비밀번호 암호화 및 검증 유틸리티를 작성합니다.import org.springframework.security.crypto.bcrypt.BC..

SpringBoot 2024.11.24

SpringBoot - JWT 구현 (기초)

JWT(Json Web Token)- 서버와 클라이언트 간 인증 및 정보 교환을 위해 널리 사용되는 토큰 기반 인증 방식1. 프로젝트 환경 설정JWT를 구현하려면 필요한 라이브러리를 추가해야 합니다.Maven 의존성 추가pom.xml에 아래와 같은 의존성을 추가합니다. org.springframework.boot spring-boot-starter-web io.jsonwebtoken jjwt-api 0.11.5 io.jsonwebtoken jjwt-impl 0.11.5 io.jsonwebtoken jjwt-jackso..

SpringBoot 2024.11.23

SpringBoot - Could not find artifact mysql:mysql-connector-java:pom:unknown in mvn2s [에러]

분명히 이전에 포스팅했던 JPA 방식대로 설치를 했는데타이틀과 같은 에러가 발생..ㅎ허허 무슨 일인지 계속해서 코드를 하나씩 확인해봐도 문제가 해결되지 않음..그래서 아래 코드인 mysql-connector-java를 지우고 해보니 또 JpaRepository에서 불러오는게 안됨 ㅋㅋ mysql mysql-connector-java그래서 여기저기 확인을 해봤는데도 해결이 안돼서그냥 pom.xml에서 자동완성을 시키면서 짱구를 굴리고 있다가갑자기 version 태그가 생기길래 뭔가하고 실행해보니그냥 갑자기 됨... ㅋㅋ그래서 좀 더 이유를 조사해보니그냥 가장 상단에 포스팅에서 말해주고 있는데 내가 확인을 대충해서 못찾았던거... 하으

SpringBoot 2024.09.24

SpringBoot - Consider defining a bean named 'entityManagerFactory' in your configuration [에러]

하으.... 이런 에러로 몇 시간을 날린건지...분명히 설치도 원래 했던대로인데 어떤 문제이고 어떻게 해결해야 하지... 싶었는데그냥 dependency에 설치된 애들끼리 상충되어서 에러가 발생하는 듯하다는포스팅을 확인하게 되어 .m2의 repository에 있는 모든 파일을 삭제 후다시 maven에서 Reload All Maven Projects를 하니아주 말끔하게 해결... ㅋㅋ

SpringBoot 2024.09.24

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 - 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