반응형 전체 글99 [JAVA] Error, Checked Exception, Unchecked Exception 비교 자바에서는 예외를 크게 Error와 Exception으로 구분하고, Exception은 RuntimeException 상속 여부에 따라 Checked Exception, Unchecked Exception으로 구분된다. Error 시스템에 비정상적인 상황이 발생한 경우로 시스템 레벨에서 발생하는 심각한 수준의 오류를 의미하며, 개발자가 에측할 수 없기에 미리 Handling할 수 없다. Exception 개발자가 구현한 로직에서 발생하는 것으로 개발자가 미리 예측하여 방지할 수 있어서 상황에 맞게 Handling 해야한다. 아래는 Checked Exception과 Unchecked Exception을 비교한 표이다. Checked Exception Unchecked Exception 로직에서 예외처리 여.. 2022. 1. 12. [JAVA] 생성자 대신 정적 팩토리 메소드를 고려해야 하는 이유! 먼저 정적 팩토리 메소드가 뭔지 잘 모르겠으면 아래 포스팅을 보고 오자! [Java] 정적 팩토리 메소드란? (static factory method) 정적 팩토리 메서드 정적(static), 팩토리(factory), 메서드(method) GoF라는 디자인 패턴 중 팩토리 패턴에서 유래한 단어로 객체를 생성하는 역할을 분리하겠다는 것을 말한다. (하지만 정적 팩토리 메 ynzu-dev.tistory.com 1. 이름을 가질 수 있다. BigInteger 클래스를 예를 들어 보면 생성자인 BigInteger(int, int, Random)과 정적 팩토리 메서드인 probablePrime(int, Random) 중 후자가 메소드 명덕분에 '값이 소수인 BigInteger를 반환한다'라는 의미를 파악하기 쉽다.. 2022. 1. 12. [JAVA] 정적 팩토리 메소드란? (static factory method) 정적 팩토리 메서드 정적(static), 팩토리(factory), 메서드(method) GoF라는 디자인 패턴 중 팩토리 패턴에서 유래한 단어로 객체를 생성하는 역할을 분리하겠다는 것을 말한다. (하지만 정적 팩토리 메서드와 팩토리 패턴은 명확하게 다르고, 디자인 패턴 중에 이와 일치하는 패턴이 없다고 한다. 이 부분에 대해선 공부를 해봐야겠다..) 좀 더 쉽게 설명하자면 생성자를 통해 객체를 생성하는게 아니라 별도 메소드를 정의해서 객체를 생성할 수 있도록 객체 내에 정적 메소드를 정의해놓은 것! 정확히 어떤 메소드를 얘기하는 건지 예시를 들어보겠다. java.time 패키지에 포함된 LocalDateTime 클래스의 정적 팩토리 메서드를 살펴 보면 생성자를 통해 객체를 생성하는 것이 아니라 of 메소.. 2022. 1. 10. [Web] redirect시 데이터 전달하는 방법 - RedirectAttributes 결론 : RedirectAttributes 클래스를 사용하면 된다! @Controller class TestController { @PostMapping("/buy") public String buy(@ModelAttribute("testForm") TestVo vo , HttpServletRequest request , RedirectAttributes redirectAttributes){ // 결제 처리 로직 //첫번째 방법 redirectAttributes.addAttribute("param", param); //두번째 방법 redirectAttributes.addFlashAttribute("param", param); return "redirect:/buy-result"; } } addAttrib.. 2022. 1. 7. [Web] PRG 패턴 (Post - Redirect - Get) PRG 패턴이란? Post -> Redirect -> Get 패턴으로 만들어지는 것을 말하며, 권장되는 디자인 패턴 중 하나다. PRG 패턴의 필요성 예를 들어 상품 판매 서비스를 운영하고 있다고 하자. 주문 페이지를 호출하고, Post 방식으로 결제를 처리할 경우 결제 완료 페이지에서 실수 혹은 의도적으로 새로고침을 하게 되면 서버에 전송했던 데이터를 다시 전송하게 되어 중복 결제 처리가 될 수 있다. 자세한 프로세스는 아래 포스팅을 참고하자 [WEB] PRG패턴 PRG(Post-Redicet-Get)패턴은 웹 개발시 사용 권장되는 디자인 패턴입니다. 사용자의 뒤로가기, 새로고침으로 인한 중복입력을 방지할 수 있습니다. EX) 상품주문 PRG패턴 적용 전 사용자가 상품 주문 juinor.tistory... 2022. 1. 7. [JPA] Specification을 이용하여 쿼리 조건 처리하기 - 외래키 Specification Repository에 JpaSpecificationExecutor 인터페이스를 상속받으면 Specification을 사용할 수 있다. @Repository public interface GrandChildRepository extends JpaRepository, JpaSpecificationExecutor { } ※참고 : 복합키이기 때문에 JpaRepository를 상속받을 때 ID부분에 Id class를 넣어주면 된다. 관련 내용은 아래 포스팅을 참고하자 [JPA] 복합키, 외래키 Entity 설정하기(@IdClass를 사용하여 식별관계 매핑) 올해 초 복합키, 외래키 사용이 많은 테이블을 JPA Entity로 구현했어야 했는데, JPA 사용이 처음이였어서 익숙하지 않아 복.. 2022. 1. 7. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음 728x90 반응형