Programming/Java

    [Java][Spring]BeanUtils.copyProperties() 정리 및 주의점

    [Java][Spring]BeanUtils.copyProperties() 정리 및 주의점

    ❔ 언제 사용? ➖ Class 간 복사가 필요할 때 -. 웹개발을 하다보면 VO와 Entity 간 동일한 멤버변수를 복사하는 경우가 많이 발생한다. -. Front단에서 입력받거나, Back에서 처리된 VO를 DB에 저장하기 위해 Entity로 옮기는(=복사하는) 경우 등 -. 그러한 경우에 각 멤버변수(=property)를 하나씩 get() -> set() 한다면, 굉장히 번거롭고 후에 유지보수하기도 불편하다. ❔ 번거롭다? 유지보수가 어렵다? 이유는? -. 멤버변수가 많으면 많을수록 복사하기 위해 굉장히 많은 Line의 get->set 코드가 필요할 것이며, -. 후에 변수명이 바뀌거나 변수가 추가된다면 ,해당 복사 코드에 찾아가서 수정해야 한다. ❗ 그래서 BeanUtils.copyPropertie..

    [eclipse][spring]개발 작업에 영향을 끼치는 옵션

    [eclipse][spring]개발 작업에 영향을 끼치는 옵션

    Java를 이용한 웹개발할 때, 다양한 IDE가 있지만 국내에서는 보통 eclipse, sts, IntelliJ를 많이 사용할 거 같다. ❗아래 내용은 eclipse, sts를 사용할 경우에 해당할 때 "원하지 않거나 필요없는 기능이 백그라운드에서 자동으로 진행되어 작업속도에 영향을 끼치는 경우"가 존재하여 작성하게 되었습니다. 1. remote system explorer operation -. 코드 수정 중 또는 자동으로 빌드될 때, 수많은 remote system explorer operation이 Progress 창에 생길 때가 있다. -. remote system explorer operation은 SSH, FTP, Telnet 등을 제공하여 eclipse에서도 편하게 원격저장소에 접속하여 작업..

    [JAVA][JUnit]자주 사용하는 Annotation

    1. @Test -. 아래는 JUnit User Guide에 나오는 test case -. 메소드가 테스트 메소드임을 나타낸다. import static org.junit.jupiter.api.Assertions.assertEquals; import example.util.Calculator; import org.junit.jupiter.api.Test; class MyFirstJUnitJupiterTests { private final Calculator calculator = new Calculator(); @Test void addition() { assertEquals(2, calculator.add(1, 1)); } } 2. @DisplayName -. test 메소드의 출력을 원하는 대로 설정..

    [JAVA]JUnit5

    1. JUnit 이란? -. Java 및 JVM을 위한 프로그래머 친화적인 테스트 프레임워크 -. 오픈소스 단위테스트 도구 2. JUnit의 등장 -. 이전 개발 테스트는 main method에 production Code와 TestCode가 혼재하여 작성하였다. -. 이러한 개발 테스트의 문제는 ⓐ클래스 규모가 커져 복잡도 증가 ⓑ운영소스에 테스트코드 존재 ⓒSystem.out이나 소요시간을 수동으로 출력 및 결과 확인 ⓓ불분명한 테스트 의도 및 이력 관리 등이 있다. -. 위 문제들을 해결하기 위한 도구로 JUnit 탄생 3. JUnit5 -. 모던 자바의 최신기술(람다,스트림 등)에 맞춰 구성 -. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage..

    [JAVA][TDD][CleanCode]자바 플레이그라운드 with TDD, 클린코드 시작

    1. TDD, CleanCode 끌린 이유 -. 현재, 첫직장에서 개발 중인 웹 프로그램은 짧은 기간 여러 개발자가 거쳐가며 완성되었다. -. code convention이나 자사의 개발 규격 등은 눈을 씻고 찾아봐도 없다. -. 빠른 개발 일정으로 인해, 기존 코드(그러나 매번 새로운 스타일)에 맞춰 수정해야 한다. -. 생산성, 유지보수가 나아질 기미가 안 보인다. -. 문득, 내가 제대로된 개발을 하고 있는지 의문이 들었다. -. 다른 사람들은 어떻게 개발하고 있는지 궁금했다. 2. TDD 살짝 찍어 먹었네? -. JAVA개발방법에 대해 찾아보니 TDD, CleanCode 이런 말들이 많이 보인다. -. 때마침, 2021(작년) 우아한 테크캠프PRO 과정이 진행할 예정이었고 만 3년된 개발자는 아니..