본문 바로가기

Spring Boot20

[Spring][JPA] JPA란? Persistence Layer - 영속성 계층 Spring 에서 DAO 객체를 사용하여 Database와 커넥션 등을 유지하는 것을 이야기 합니다. Mybatis와 JPA에서의 가장 큰 차이점을 따지고 본다면 DAO interface를 만들지 않고 JpaRepository 를 상속 받아 사용하게 됩니다. 이렇게 되면 가장 큰 이점으로 xml등의 파일을 따로 관리 하지 않고 Repository 내에서 Query를 조합하여 좀 더 직관적이고 객체 관점의 쿼리등이 가능해 집니다. Query 방법 예약되어 있는 query를 메서드 형태로 바로 불러와 사용도 가능하고 @Query annotation을 사용하여 native query 혹은 DTO 객체를 만들수도 있습니다. // 1. 예약 Query findAll.. 2022. 9. 14.
[Spring boot] FilterRegistrationBean - url 패턴으로 Filter 설정 Rest api 서비스를 만들때에 우리가 외부/내부 서버들과 주고 받는 데이터의 유효성만 확인 되는 것이 첫번째일 것입니다. 하지만 해당 요청에 포함하는 파라미터들의 Encoding 정보를 수정하거나 헤더에 들어있는 정보들의 유효성 등을 Controller에 도달하기 전에 확인 한다면 우리가 중복될 수 있는 유효성 체크 등의 코드를 줄여 나갈 수 있습니다. FilterRegistrationBean @Component @Order(1) public class CustomFilter implements Filter { // Filter 메서드 오버라이드 @Override public void doFilter( ServletRequest request, ServletResponse response, Filte.. 2022. 8. 10.
[Spring boot] url query string 안 보이게 처리하기 서비스 개발하다보면 내가 설정한 url 이외에 붙게되는 텍스트가 있습니다. https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%82%A0%EC%94%A8 물음표 뒤에 오는 텍스트를 Query String이라 부르며 해당 텍스트는 서버에 요청을 보내는 파라미터의 목록입니다. 형식은 물음표를 시작으로 key=value 형태로 뒤에오는 파라미터는 & 인자로 분리해 줍니다. 하지만 웹개발시에는 브라우저에 표시가 될수 있는 민감한 정보를 담고 있는 경우에는 이러한 query string을 숨김 처리하는것을 권장하고 있습니다. 요청 Controller // 요청 들어오는 페이지 @GetMapping("/view.. 2022. 8. 9.
[Spring security + Jwt #2] jwt 관리 클래스 생성 1. 관리 클래스 생성 @Slf4j @Component public class JwtProvider { private static final String JWT_SECRET_KEY = "사용할 비밀 키"; private static final int JWT_EXPIRATIONMS = 86400000; // ms 세컨드 단위로 사용 시간 설정 가능 합니다. // jwt 키 생성 여기서 지정된 값을 가지고 유저를 체크합니다. public String generateJwtToken(String name) { return Jwts.builder().setSubject(name).setIssuedAt(new Date()).setExpiration(new Date((new Date()).getTime() + JWT.. 2022. 2. 21.