공부/Java와 Spring
-
TIL 147일 - 어... 다른 모듈에 있는 repository 쓰려고 해봤음공부/Java와 Spring 2022. 5. 25. 22:43
ConditionRepository 만들기 어... 일단 이래 만들었음 public interface ConditionRepository { Condition save(Condition condition); } SpringDataJdbcConditionRepository 만들기 그리고 나서 요렇게 만들었는데.... (기존에 다른 레포 참고) import org.springframework.data.repository.Repository; public interface SpringDataJdbcConditionRepository extends Repository, ConditionRepository { } 왜 이렇게 만들지? 싶은데.... 이건 내일 물어봐야겠다. 하다보니까 너무 스텝을 크게 가져갔따.....
-
TIL 146일 - java 멀티모듈공부/Java와 Spring 2022. 5. 24. 22:42
일단 멀티 모듈로 만들어 보자. gradle 멀티 모듈 만들기 1. 일단 체크 다 풀고 생성한다. 2. root 모듈이 만들어진다. 3. 서브?모듈을 만든다. 여기서는 java에 체크를 해서 만들어준다. 4. 짜잔 도메인 모듈 구현하기 1. 어... 일단 쓸 곳이 있을 거 같아서 lombok 추가했음 dependencies { ... compileOnly 'org.projectlombok:lombok:1.18.24' annotationProcessor 'org.projectlombok:lombok:1.18.24' testCompileOnly 'org.projectlombok:lombok:1.18.24' testAnnotationProcessor 'org.projectlombok:lombok:1.18.24..
-
TIL 143일 - Java Lambda 파라미터공부/Java와 Spring 2022. 5. 21. 20:21
자바스크립트에서 매개변수로 함수 보낼 때는 그냥 하면 됐는데.... 자바에서는 뭔가... 뭔가가 있다... 자바에서 람다는 뭘까? 람다는 이름이 없는함수이다. 람다로 인해 파라미터로 넣을 수 있고, 변소로도 저장이 된다. (마치 익명 클래스같은 느낌쓰) String 파라미터와 String을 return하는 람다식 asd라는 멤버는 문자열을 파라미터로 받고, 문자열을 return 하는 람다이다. asd.apply 코드는 해당 람다식을 실행한다는 것을 의미한다. (자주 쓰는 람다식은 미리 정의되어 있는 것들이 있다고 한다.) import java.util.function.Function; public class Something { Function asd; public Something(Function a..
-
TIL 134일 - 주저리주저리공부/Java와 Spring 2022. 5. 12. 23:27
이번에 스프링 관련 프로젝트를 하다가 어떤 객체 리스트에서 어떤 조건을 만족하는 하나의 객체를 반환하는 Finder 클래스를 만들게 되었다. Finder 안에 이 객체 리스트를 static으로 넣자니, mock 테스트가 불가했고 Finder를 호출하는 곳에서 이 객체를 넣어주자니(세터든, 생성자를 통해서든) Finder를 호출하는 곳에서 알아야할 필요가 있을까? 생각이 들었다. 그래서 든 생각이 혹시 bean으로 Array를 주입할 수는 없을까? 궁금했다. 좀... 공부하다가 머쓱하게 되었는데... 일단 내가 수정할고 했던 코드 부분이 스프링 앱이 아니어서 빈을 쓸 수가 읎다.... ... 그럼 만약 빈을 쓸 수 있었다면 그건 바람직한 상황이었을까???? 좀... 애매...하네...
-
TIL 130일 - 자바 제네릭공부/Java와 Spring 2022. 5. 8. 17:35
제네릭을 머리로는 이해하고 있었는데 코드로 쳐본적이 없다 보니 좀 헷갈렸다. 아래처럼 쓰면 된다. public class Main { public static void main(String[] args) { ValueClass stringValueClass = new ValueClass("asd"); System.out.println(stringValueClass.getValue()); ValueClass integerValueClass = new ValueClass(123); System.out.println(integerValueClass.getValue()); ValueClass booleanValueClass = new ValueClass(true); System.out.println(boolea..
-
TIL 129일 - Spring Method Mock공부/Java와 Spring 2022. 5. 8. 02:10
public class TestClass { public String getName() { return "yatyat2"; } } package com.example.tddstudy; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class MethodMockTest { @Test void name() { TestClass testClass = mock(TestClass.class); when(testClass.getName()).t..
-
TIL 118일 - java 짜잘짜잘공부/Java와 Spring 2022. 4. 27. 00:10
DateTimeFormatter 포매터를 통해서 포맷을 만들 수 있다. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy"); 이렇게 만든 formater는 아래처럼 사용할 수 있다. LocalDateTime.parse(dateStirng, formatter); 그럼 dateString의 형태에 따라 formatter를 만들어 주면, LocalDateTime이 생성된다. 반대로 어떤 LocalDateTime이 있으면 LocalDateTime.format(formatter) 이렇게 해주면 해당 포맷으로 string이 나온다.