Tagged: java

[Java]List 복사하는 방법

List를 복사하는 4가지 방법 위 4가지 모두 요소의 참조주소를 복사하는 얕은복사(Shallow Copy) 방법이다.객체의 참조값도 모두 새로 생성하는 깊은복사(Deep Copy)를 하고 싶은 경우 개발자가 직접 구현해야한다.(반복문 사용 등) 예제코드는 아래를 참조하자.

[Java]문자열 자릿수 맞추기(LPAD, RPAD)

문자열에 패딩을 추가하여 자릿수 맞추는 2가지 방법을 알아보자 첫 번째. String.format() 을 사용하는 방법 두 번째. StringUtils 라이브러리를 사용하는 방법 String.format() 사용 StringUtils 라이브러리를 사용

[Java]테스트에서 @Transactional 동작특성

SpringBoot 에서 테스트 클래스에 @Transactional 어노테이션을 사용 할 때의 특징 일반적인 상황에서 메서드 성공 시 commit, 실패 시 rollback을 수행하는 것과는 다르게 동작한다. 테스트 시에는 메서드 종료 시 rollback을 실행한다. 서로 다른 테스트에 영향을...

[Java]JdbcTemplate의 queryForObject()

스프링부트에서 기본으로 제공하는 JdbcTemplate중 queryForObject() 메서드 기본 사용방법을 정리한다. build.gradle에 아래 내용을 추가한다. queryForObject는 1개의 row를 반환한다. 입력 파라미터에 RowMapper<T>를 넣어줘야 하는데, 아래와 같이 람다식을 이용하면 편리하다. queryForObject는 데이터가 null이면 EmptyResultDataAccessException이 발생하므로 try… catch문으로...

[Spring]List(Collection)에 @Valid 적용하기

Java에서 제공하는 빈 검증기(Bean Validator)인 @Valid 는 Collection 타입에는 적용되지 않는다. 예컨데 아래와 같은경우 “/addUser”는 검증기능이 정상적으로 동작하나 “/addUsers”의 경우에는 기대한대로 동작하지 않는다. 이 경우 List<User>를 필드로 가진 클래스를 생성하고, @Valid를 List에 적용하면 해결할...

소수판별 알고리즘

입력된 수가 소수인지 판별하는 알고리즘 – 확인된 알고리즘 중에 가장 효율적임

Java 스트림 Stream (2) 고급

출처 : https://futurecreator.github.io/2018/08/26/java-8-streams-advanced/ 이전 포스트에 이어서 Java 8의 스트림(Stream)을 살펴봅니다. 자바 8 스트림은 총 두 개의 포스트로, 기본적인 내용을 총정리하는 이전 포스트와 좀 더 고급 내용을 다루는 이번 포스트로 나뉘어져 있습니다. Java 스트림 Stream...

Java 스트림 Stream (1) 총정리

출처 : https://futurecreator.github.io/2018/08/26/java-8-streams/ 정말 잘 정리되어 있는 포스트가 보여서, 해당 블로그 작성자께 말씀드리고 퍼왔습니다. 이번 포스트에서는 Java 8의 스트림(Stream)을 살펴봅니다. 총 두 개의 포스트로, 기본적인 내용을 총정리하는 이번 포스트와 좀 더 고급 내용을 다루는...