본문 바로가기

전체 글23

토비의 스프링 Vol. 1 정리 - 4장 예외 - 1 예외의 종류 토비의 스프링 Vol. 1 정리 - 4 - 1 예외의 종류 4장 예외 예외 JdbcTemplate을 대표로 하는 스프링의 데이터 액세스 기능에 있는 예외처리와 관련된 접근 방법에 대해 알아본다. 이를 통해 예외를 처리하는 베스트 프랙티스도 살펴본다. 부적절한 예외처리 > 예외 블랙홀 try { // ... } catch (SQLException e) { // 예외를 잡고는 아무것도 하지 않는다. } // 예외발생 시 콘솔에 출력 1 } catch (SQLException e) { System.out.println(e); } // 예외발생 시 콘솔에 출력 2 } catch (SQLException e) { e.printStackTrace(); } 예외가 발생하면 그것을 catch 블록을 써서 잡아내는 것까.. 2020. 4. 24.
telnet을 이용한 SMTP 메일전송 테스트 telnet을 이용한 SMTP 메일 전송 테스트 Windows 또는 xnix 계열에서 SMTP 메일 전송 테스트 telnet을 이용해 SMTP 메일 전송하는 방을 확인해보자. 1. telnet을 이용해 SMTP사용 HOST, PORT로 접속 $ telnet 127.0.0.1 25 or $ telnet mail.xxxx.co.kr 587 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 xxxx.domain ESMTP Postfix 2. telnet을 이용해 SMTP사용 HOST, PORT로 접속 ehlo 127.0.0.1 250-xxxx.domain 250-PIPELINING 250-SIZE 10240000 250-VRFY.. 2020. 4. 21.
토비의 스프링 Vol. 1 정리 - 3장 템플릿 - 3 토비의 스프링 Vol.1 정리 - 3 - 3 3장 템플릿 스프링의 JdbcTemplate 스프링은 JDBC를 이용하는 DAO에서 사용할 수 있도록 준비된 다양한 템플릿과 콜백을 제공한다. 지금까지 만들었던 UserDao는 DataSource를 DI 받아서 JdbcContext에 주입해 템플릿 오브젝트로 만들어 사용한다. JdbcContext를 JdbcTemplate로 변경해 적용해본다. 단순히 기존에 JdbcContext setter 메소드를 JdbcTemplate로 변경하면 된다. private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(.. 2020. 4. 19.
토비의 스프링 Vol. 1 정리 - 3장 템플릿 - 2 토비의 스프링 Vol.1 정리 - 3 - 2 3장 템플릿 템플릿/콜백의 응용 스프링의 많은 API나 기능을 살펴보면 템플릿/콜백 패턴을 적용한 경우를 많이 발견할 수 있다. 템플릿/콜백 패턴도 DI와 객체지향 설계를 적극적으로 응용한 결과다. 스프링에는 다양한 자바 엔터프라이즈 기술에서 사용할수 있도록 미리 만들어져 제공되는 수십 가지 템플릿/콜백 클래스와 API가 있다. 템플릿/콜백 예제 A 파일을 열어서 모든 라인의 숫자를 더한 합을 돌려주는 코드를 작성 A-0. 라인별로 1,2,3,4 를 작성한 txt 파일을 resources 폴더에 생성 A-1. 테스트 코드 작성 package com.empering.springdemo.template; import org.junit.jupiter.api.Test.. 2020. 4. 19.
잘되던 메일이 발송이 안되다. (postfix 실행/오류) 잘작동하고 있던 메일 발송기능이 안되서 찾아보고 해결한 과정 정리 postfix 작동 여부 확인 # 25번 포트 검사를 통해 작동하고 있는지 체크 $ netstat -an | grep LISTEN # 실행이 안되고 있는 경우 postfix 실행 $ sudo systemctl start postfix.service # postfix 서비스 실행 상태 확인 $ sudo systemctl status postfix.service 실행도중 오류가 발생한경우 $ postfix check # 별문제가 없으면 출력 메세지 없음 postfix: fatal: parameter inet_interfaces: no local interface found for ::1 => 오류발생 # ::1 은 IPv6 에서 사용하는 주소.. 2020. 4. 10.
java mail 전송 시 한글이 깨지는 경우 spring 에서 JavaMailSender 이용 메일 전송시 한글이 깨지는 경우 발생 MimeMessagePreparator의 setSubject, setText 메서드를 실행할때 인자로 추가 charset을 지정해주면 된다. setSubject, setText 메서드가 charset 없이도 호출가능하도록 오버로딩 되어있기때문에 빼먹고 호출하는 것에 주의 해야할것같다. package common.service; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springf.. 2020. 4. 10.