java 3

[Java] MimeMessageHelper를 이용하여 메일 전송

gmail smtp를 이용하여 자바로 메일을 자동 전송 로그인 이메일 인증, 비밀번호 찾기에 이용하기 위해 제작하였다. 1. Gmail 앱 비밀번호 설정 Gmail 계정 관리 - 보안 - Google에 로그인 - 앱 비밀번호 에서 앱 비밀번호를 생성해준다. 생성하고 제공받은 비밀번호를 복사해두자. 2. properties 설정 #메일 인증 spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username= Gmail 계정 spring.mail.password= 앱 비밀번호 spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.auth=tr..

java/spring 2022.11.28

[Java] java.lang.StackOverflowError: null

어렵게 다가갈 오류가 아니었는데, 하필 보안 부분을 만지고 있어서 알아차리는데 꽤 오래걸렸다. 나같은 경우에는 무한루프로 이 오류가 나타나게 되었다. 다음 코드에서 에러가 발생했다. @Override public String getPassword() { return getPassword(); } 다시 보니 말도 안되는 코드를 적어놨다. 대놓고 무한루프 돌겠다는건데ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 보통은 lombok이랑 jpa랑 같이 이용하면서 toString등의 메소드가 호출 반복되면서 발생한다고 한다. 이러한 경우에 다음과 같은 에러가 발생할 수 있다는 것을 알게 된 계기라고 생각하자.

java 2022.11.17

[Java Spring] POJO, IoC/DI, AOP, PSA

POJO (Plain Old Java Object) 이름 그대로 순수 자바 객체를 의미한다. POJO 프로그래밍에는 다음의 2가지 규칙이 따른다. Java나 Java의 스펙에 정의된 것 이외에는 다른 기술이나 규약에 얽매이지 않아야 한다. (ex. 2개 이상의 클래스로부터 상속 불가능) 특정 환경에 종속적이지 않아야 한다. (ex. tomcat의 api를 직접적으로 가져다 사용) POJO 방식 프로그래밍의 장점은 다음과 같다. 재사용성이 높고 확장이 가능한 유연한 코드 작성 용이 저수준 기술이나 환경 종속적인 코드 제거로 인한 가독성 향상 및 디버깅 효율 상승 객체지향적 설계를 제한 없이 적용 가능 IoC (Inversion of Cotrol) 어플리케이션 흐름의 주도권을 바꾼 것을 의미한다. 일반적인 ..

java/spring 2022.08.09