본문 바로가기

개발TIL31

[TIL] 231128 Java 예외처리 예외 try catch method(){ try{ 예외가 발생할 수 있는 로직 } catch (Exception e){ System.out.println(e.getMessage()); } 예외가 발생할 수 있는 로직을 try로 감싸고 catch로 감싼다 예외처리로 발생할 수 있는 예외에 대비하여, 프로그램의 비정상 종료를 막을 수 있다. catch를 통해 try가 실패하면 이어서 마저 코드를 실행하게 된다 상속에서의 예외 오버라이딩을 할 때, 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 조상 클래스의 예외의 개수와 같거나 적어야 한다. 2023. 11. 28.
[TIL] 231124 Spring Security 로그인 Spring Security 로그인 Spring Security 내부의 AuthenticationManager과 UserDetailsService를 통해 DB와 소통 User name을 UserDetailsService로 전달 -> DB에서 usernmae으로 회원정보 조회 -> 성공시 UserDetails(회원상세정보) 생성 Username, password일치 시 로그인 성공 -> 세션 생성 UserDetailsServiceImpl @Service public class UserDetailsServiceImpl implements UserDetailsService { Private final UserRepository userRepository . . . } @Service 어노테이션 implemen.. 2023. 11. 24.
[TIL] 231123 Spring Filter, Spring Security 프레임워크 Filter Client로부터 오는 요청과 응답에 대해 최초/최종 단계에 위치 요청과 응답시 정보를 변경하거나 부가적인 기능 가능 주로 보안처리나 로깅 등에 사용 인증, 인가와 관련된 로직 처리 (비즈니스 로직과 분리하여 관리 가능) Filter 사용법 @Order(1) : 필터 순서 지정 Implements Filter 로 필터라고 선언 public class Logging Filter implements Filter{ } implements Filter @Override public void doFilter(~~)~~ AuthFilter : 인증 인가 필터 만들기 Repository와 JwtUtil 가져오기 if (StringUtils.hasText(url) && (url.startsWith("/ap.. 2023. 11. 23.
[TIL] 231120 Java의 정석 연습문제 7장 오답 자바의정석 3판 문제풀이 오답 [7-7] 다음 코드의 실행했을 때 호출되는 생성자의 순서와 실행결과를 적으시오. class Parent { int x = 100; Parent() { this(200); } Parent(int x) { this.x = x; } int getX() { return x; } } class Child extends Parent { int x = 3000; Child() { this.x = x; } Child(int x) { this(1000); } } class Exercise7_7 { public static void main(String[] args) { Child c = new Child(); System.out.println("x=" + c.getX()); } } 답: .. 2023. 11. 20.
[TIL] 231117 Spring Data JPA, JPA Auditing, Query Method, Entity의 상태 Entity의 상태 Transient (비영속)=> Managed (영속) persist(entity) : 비영속 상태의 entity를 영속성 컨텍스트에 저장하여 영속 상태를 만들어줌 Detached (준영속) detach() : 영속성 켄텍스트에 저장되어있던 Entity를 준영속 상태로 만들어줌 => DB에 업데이트 불가 - 영속성컨텍스트로 관리될 때만 업데이트가 이루어짐 clear() : 모든 영속성 컨텍스트 초기화 영속성컨텍스트에 있는 모든 엔티티를 준영속 상태로 만듦 내용은 비우지만 틀은 유지 merge() : Entity를 영속상태로 바꾸어줌 - Entity가 영속성컨텐스트에 없으면 DB조회, 있으면 내용 추가해서 저장 - DB에 없으면 새로 저장 Spring Data JPA Repository.. 2023. 11. 17.
[TIL] 231116 Spring | 영속성컨텍스트 JPA 트렌젝션 EntityManager 영속성 컨텍스트 - Entity객체를 관리하기 위해 만들어진 공간 - Entity는 Entity Manager에 의해 관리된다 JPA - 개발자들이 SQL을 사용하지 않아도 DB와 소통할 수 있게 해줌 - JPA는 영속성 컨텍스트를 통해 Entity객체를 관리하면서 DB와 소통함 Entity Manger - Entity를 관리함 - EntityManagerFactory를 통해 엔티티매니저 생성 - /resources/META-INF/ 위치에 persistence.xml 파일을 만들어 정보 넣어줌 com.sparta.entity.Memo EntityManagerFactory emf = Persistence.createEntityManagerFactory("memo"); EntityManager em = e.. 2023. 11. 16.