Java
-
초간단 자바로 메일보내기(구글 SMTP) 2023년 최신Java 2023. 10. 7. 16:25
https://devmg.tistory.com/37 자바(java) 구글 메일전송(SMTP) 사용하기JAVA 구글 Gmail SMTP 이메일 전송 예제 1. JAVA로 구글 Gmail SMTP 이메일 전송을 위해 자르 mail.jar 파일을 Build path(lib)에 추가하거나 메이븐(Maven)프로젝트인 경우는 pom.xml에 아래 dependency 추가한다. javax.mdevmg.tistory.com 몇년전 자바로 구글SMTP 보내는 방법과 요즘 보내는 방법이 달라졌다.예전에는 구글 SMTP를 이용하려면 보안단계를 낮추고 이메일주소/비밀번호가 필요했지만 이제는 앱비밀번호란게 필요하다. 이 정보는 스프링 프로퍼티 파일에 입력해야한다. 앱비밀번호 발급받는 방법시작로그인후 Google 계정관리 클..
-
[Java] 사용자 정의 예외 (Exception) 만들기Java 2023. 2. 26. 15:11
자바 프로젝트를 하다보면 업무로직 안에서 고의로 예외를 발생시키는 부분들이 있다. ex) 잔고 보다 많은 금액을 출금 요청 시 > 오류발생 어플리케이션 예외 : 개발자가 직접 정의해서 만들어야 하므로 사용자 정의 예외라고도 한다. 일반 예외로 선언 시 : Exception 상속 실행 예외로 선언 시 : RuntimeException 상속 CustomException 은 Exception 을 상속하기 때문에 컴파일러가 체크 하는 예외(일반 예외) 이다. 따라서 소스 코드 작성 시 try - catch 블록으로 예외 처리가 필요하다. 파일 구조 BbsServiceImpl > BbsService > BbsController 1. 예외 작성하기 public class CustomException extends ..
-
[java] 자주쓰는 람다식 Lambda (stream 인터페이스) 예제Java 2023. 2. 12. 22:09
게시판 목록에서 게시물 제목이 "중"으로 시작하는 것을 모두 추출 //게시판 목록 List list = bbsDao.selectListAllBbs(); //filter 메서드는 컬렉션을 조건에 의한 선택을 할때 유용하다. //filter 메서드는 boolean 결과를 리턴하는 람다 표현식이 필요하다. //예제의 collection 메서드는 filter 표현식에 나온 값을 list로 변경한다. //게시판 제목이 '중'로 시작하는 배열을 모두 출력 final List result_startsWithS = list.stream().filter(v -> v.getTitle().startsWith("중")) .collect(Collectors.toList()); log.info(result_startsWithS...
-
[java] @SuppressWarnings 란?Java 2022. 2. 20. 15:31
자바에서 노란색으로 Warnings이 나타나는 경우 어노테이션을 이용하여 문제를 해결할 수 있다. 이건 컴파일러가 일반적으로 경고하는 내용 중"이건 하지마"하고 제외시킬 때 쓰인다. 아래의 소스로 예를 들어 보자~ 현재 메소드에서 2개의 노란줄이 발견이 됬다. 노란줄 부분에 마우스를 대고 자동완성으로 @SuppressWarnings 어노테이션을 추가하면 첫번째 어노테이션이 사라진다. @SuppressWarnings("rawtypes") ▶ 옵션을 하나만 적용 두번째 노란줄도 @SuppressWarnings 추가하면 노란줄이 모두 사라진다. @SuppressWarnings({"rawtypes", "unchecked"}) ▶ 옵션을 두개 이상 적용 따라서 어떤 경고를 제외시킬지 옵션을 줄 수 있다. all ..
-
자바 예외(Exception) 및 예외 처리 개념Java 2020. 5. 26. 16:20
예외(Exception)의 종류 컴파일 시점에 발생하는 예외를 Exception(일반예외) 프로그램 실행시에 발생하는 예외를 RuntimeException(실행예외) 둘다 java.lang.Exception 이라는 최상위 부모 클래스를 제공한다. 예외처리 코드 및 실행 순서(Try-Catch-Finally) Try 블록 : 실제 코드가 들어가는 곳으로써 예외 Exeption이 발생할 가능성이 있는 코드 Catch 블록 : Try 블록에서 Exeption이 발생하면 코드 실행 순서가 Catch 쪽으로 오게됨. 즉 예외에 대한 후 처리 코드 Finally 블록 : Try 블록에서의 Exeption과 발생 유무와 상관 없이 무조건 수행되는 코드 (옵션이라 생략이 가능) 예외처리 코드 실행 순서 Exeption..
-
java 람다식 lamda 여러가지 응용하기Java 2020. 4. 25. 21:43
1. 각종 컬렉션 활용하기. package study.lamda; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ex20200425_1 { public static void main(String[] args) { // 일반 문법 vs 람다 문법 비교!!! Map map1 = new HashMap(); Map map2 = new HashMap(); map1.put("name","일길동"); map1.put("age", "19"); map2.put("name", "이길동"); map2.put("age", "29"); List list = new ArrayL..
-
Java 람다식(Lambda Expressions) 이란?Java 2020. 4. 18. 23:09
람다식이란 "식별자없이 실행가능한 함수" 람다식은 익명함수(anonymous function)을 생성하기 위한 식으로 객체 지향 언어보다 함수 지향 언어에 가깝다. 함수적 프로그래밍을 위해 자바 8부터 람다식(Lambda Expressions)을 지원하면서 기존의 코드 패턴이 많이 달라졌다.자바스크립트에서 주로 봤었던 문법들을 이제 자바에서도 사용 할 수 있다. 이 람다식의 사용 목적은 인터페이스가 가지고 있는 메소드를 간편하게 즉흥적으로 구현해서 사용하는 것이 목적이다. 람다시 기본 사용법 //기본 (매개변수, ...) -> { 실행문 ... } (매개변수, ...)는 오른쪽 중괄호 { } 블록을 실행하기 위해 필요한 값을 제공하는 역할을 한다.. 매개 변수의 임의로 지정 할 수 있으며 인자타입도 명시..
-
[Java] 기초 - Java 제어자(modifier), 접근 제어자(access modifier)Java 2017. 12. 12. 21:04
1. 제어자(modifier) - 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여한다. - 접근제어자 : public, protected, default, private - 그 외 제어자 : static, final, abstract, native, transient, synchronized, volatile, strictfp - 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나, 접근제어자는 단 하나만 사용할 수 있다. 2. static - '클래스의' 또는 '공통적인' 의미를 가지고 있다. - static이 붙은 멤버변수와 메서드, 초기화 블럭은 인스턴스를 생성하지 않고도 사용할 수 있다. - static 멤버변수 - 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 된다...