목록코딩/JAVA (23)
거인의 코딩일지
StringUtil 이란??? StringUtil StringUtil은 일반적으로 Apache Commons Lang 라이브러리에서 제공하는 클래스 중 하나이다. 이 라이브러리는 문자열 조작에 유용한 여러 가지 기능을 제공하는데, 주로 문자열이 비어 있는지(null 또는 empty) 확인하거나, 특정 문자열을 다른 문자열로 대체하고자 할 때 사용된다. 문자열을 다루는 유틸리티성 기능들을 제공한다. StringFormat Java 표준 라이브러리(java.util 패키지)에 포함된 메소드 형식화된 문자열을 생성하는 데 사용됩니다. 지정된 형식 문자열에 맞춰 인자들을 포맷하여 새로운 문자열을 생성하는 방법이다. 주로 출력 문자열의 형식을 지정하거나, 숫자나 날짜 등의 값을 원하는 형식으로 포맷할 때 사용된다..
startsWith() 란???startsWith()boolean startsWith(String prefix)startsWith() 함수는 대상 문자열이 특정 문자 또는 문자열로 시작하는지 체크하는 함수이다.해당 문자열로 시작되는지 여부를 확인하고 boolean에 맞춰 true/false 값을 리턴한다.startsWith() 기본 사용법public class StartsWithTest{ public static void main(String[] args){ String startsWithT = "자바 코딩 테스트 "; System.out.println( startsWithT.startsWith("자바") ); // true System.out.prin..
객체 타입 확인 instanceof ?? instanceof instanceof 는 객체 타입을 확인하는 연산자이다. 형변환 가능 여부를 확인하여 True / False 의 결과를 반환한다. 주로 상속 관계에서 부모 객체인지 자식 객체인지 확인하는데 사용 class Parent{} class Child extends Parent{} public class InstanceofTest { public static void main(String[] args){ Parent parent = new Parent(); Child child = new Child(); System.out.println( parent instanceof Parent ); // true System.out.println( child in..
향상된 for 문이란??? 향상된 for문이란 JDK 1.5 부터 배열의 모든 요소를 참조하기 위해 새롭게 추가된 반복문 향상된/ 개선된 for문은 for each 라고도 불린다. 배열의 길이만큼 반복하는 작업을 수행 따라서 배열이나 여러 원소를 포함한 자료형에서만 사용할 수 있다는 특성을 가지고 있다. for(타입 변수이름 : 배열) { 배열의 길이만큼 반복적으로 실행하고자 하는 명령문; } // ex) // 향상된 for문에 돌릴 배열 선언 및 생성, 값 초기화 int intArr[] = {1, 2, 3, 4, 5}; // for(데이터타입 변수명 : 배열명) for(int number : intArr) { // 배열의 길이만큼 number를 반복하기 때문에 배열의 모든 요소가 출력된다. System..
String.join() 메서드란?? java8 부터는 String class 에서 .join() 이라는 method 를 지원한다. String.join() 이란 여러개의 String을 이어붙여 하나의 String으로 만들어주는 메서드이다. //ex) .join("Hello", List); .join("Hello", Array); 여기서 "Hello" 는 각 String을 이어 붙일 때 그 사이에 삽입할 문자를 가리키는 것이고 두번째 parameter로 위치하는 List 또는 Array는 이어붙일 String 들의 set 이라고 이해하면 된다. String[] str = {"Hello", "Hi", "Nice", "to", "meet", "you"}; System.out.println(String.joi..
charAt() 함수란?? String 으로 저장된 문자열 중에서 한글자만 선택하여 char 타입으로 변환해 주는 함수이다. charAt() 의 형태?? 기본적으로 charAt() 함수를 사용하려면 String 타입의 문자열이 필요하다. // ex) String str = new String (); str = "Hello"; 라는 예시가 있다. String 타입의 참조변수 str 에 "Hello"라는 문자열을 저장한 후 str을 char 타입으로 변환하는 과정은 str.charAt(); 이러한 참조 변수 뒤에 . 을 찍고 charAt()을 적어주면 된다. 하지만 이 상태로는 아무것도 되지 않는다!!! // ex2) String str = new String(); char c = ' '; str = "He..
deleteAll() 이란?? CrudRepository에 정의된 메서드이며, SimpleJpaRepository에 재정의 되어 있다. 요청 데이터로 전달한 모든 엔티티를 삭제할 수 있다. 내부적으로 엔티티들을 하나씩 꺼내어 delete() 를 사용하고 있음 id 갯수 만큼 모두 for 문을 돌며 delete 쿼리문을 수행함 deleteAllInBatch() 란?? SimpleJpaRepository에 재정의되어 있는 deleteAllInBatch()는 applyAndBind()를 사용하여 쿼리를 끝낸다. 이것을 사용하게 되면 인자로 List를 entities로 넘겨주기 때문에 if 조건문을 넘어가고 applyAndBind가 실행된다. EntityManager의 createQuery()로 쿼리를 준비하여..
기본키 생성 전략 JPA 가 제공하는 DB 기본키 할당 전략은 직접 할당 방식, 자동 생성 방식 이 존재한다. 직접 할당 방식 직접 할당 방식을 사용할 경우 Entity를 생성할 때 Key Column 에 @Id 를 사용해주면 끝이다. @Id private long id; @Id 가 적용 가능한 타입은 Java 기본형 (int, double, long ...) Java Wrapper String Java.util.Date Java.sql.Date Java.math.BigDecimal java.math.BigInteger 자동 생성 방식 자동 생성 방식을 사용할 경우 @Id 와 @GeneratedValue 를 사용한다. 자동생성 방식은 대리 키를 사용하는 방식으로 IDENTITY, SEQUENCE, TAB..
Swagger 설정하는 방법 Swagger 설정하기 위한 라이브러리는 2가지가 있다 Spring - Fox , Spring - Dox 2가지 중에 사용하면 된다. Spring - Fox 오래전에 나온 라이브러리이다. (2015년) 2020년 이후로 업데이트가 멈췄다. 따라서 Spring Boot 2.6 이상 버전에서는 바로 적용이 안된다. https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui Spring - Doc 최근에 나온 라이브러리 이다. (2019년) 업데이트가 최근까지도 이루어지고 있다. Spring Boot 2.6 이상도 지원한다. https://mvnrepository.com/artifact/org.springdoc/spr..
Spring 프레임 워크의 핵심 기술 중 하나는 DI(Dependency Injection, 의존성 주입)이다. Spring 프레임워크와 같은 DI 프레임워크를 이용하면 다양한 의존성 주입을 하는 방법이 있다. 다양한 의존성 주입 방법 1. 생성자 주입 (Constructor Injection) 생성자 주입은 생성자를 통해 의존 관계를 주입하는 방법이다. @Service public class UserService { private UserRepository userRepository; private MemberService memberService; @Autowired public UserService(UserRepository userRepository, MemberService memberServi..