반응형 Spring22 Gradle Gradle은 그루비를 이용한 빌드 자동화 시스템이다 디렉토리 구조 /gradle - gradle 버전별 엔진 및 설정 파일 /.idea - 에디터 관련 파일들 /gradlew - gralde 명령파일 /settings.gradle - 빌드할 프로젝트 정보 설정(싱글프로젝트의 경우 생략 가능) /build.gradle - 프로젝트 빌드에 대한 모든 기능 정의 의존관계 설정 implementation - 프로젝트 컴파일 과정에서 필요한 라이브러리 testImplementation - test시에 필요한 dependency 관 providedCompile - compile시에는 필요하지만, 배포시에는 제외될 dependency를 설정 providedRuntime - runtime시에만 필요하고, 실행.. 2023. 3. 29. [Spring] mapStruct에서 LocalDateTime을 epoch Milli로 변경하는 방법 @Mapper(componentModel = "spring") public interface TestMapper extends EntityMapper { TestMapper MAPPER = Mappers.getMapper(TestMapper.class); default Long map(LocalDateTime localDateTime) { return localDateTime != null ? localDateTime.toInstant(ZoneOffset.of("+09:00")).toEpochMilli() : null; } @Override @Mappings({ @Mapping(source = "insertDt", target = "insertMilli", qualifiedByName = "toLong".. 2023. 3. 24. [Spring] 조회메서드에 @Transactional(readOnly=true)를 사용해야하는 이유 일반적으로 데이터베이스 트랜잭션은 읽기 또는 쓰기 작업 중 하나 이상을 수행합니다. 트랜잭션이 쓰기 작업을 수행할 때는 데이터베이스에서 일관된 상태를 유지하기 위해 여러 작업이 순차적으로 실행되어야 합니다. 따라서 트랜잭션 범위 내에서 작업이 완료될 때까지 다른 트랜잭션에서 해당 데이터에 대한 읽기 작업이 차단됩니다. 이러한 이유로 읽기 작업이 많은 메서드에서 트랜잭션을 읽기 전용으로 설정하면, 해당 메서드에서는 트랜잭션을 시작하지만 쓰기 작업이 수행되지 않으므로 여러 트랜잭션에서 동시에 데이터를 읽을 수 있습니다. @Transactional(readOnly=true)를 사용하면 Spring은 트랜잭션을 읽기 전용으로 설정하여 데이터베이스에서 읽기 작업을 수행하는 동안 다른 트랜잭션에 영향을 미치지 않도.. 2023. 3. 23. [JAVA] JAVA에서 윈도우, 우분투 NTP 서버 설정 변경하는 방법 자바코드에서 NTP 서버 정보를 전달하는 방법에 대해 알아보겠습니다. 윈도우, 우분투 모두 Runtime을 이용하여 구현합니다. 다만 OS마다 명령어나 설정방법이 다르기 때문에 아래 코드를 참고해주세요. 윈도우 private void addNTPServer(String serverAddress) throws IOException { try { String command = "w32tm.exe /config /manualpeerlist:" + serverAddress + " /syncfromflags:manual /reliable:yes /update"; Process process = Runtime.getRuntime().exec("cmd /c " + command); process.waitFor(); .. 2023. 3. 22. 이전 1 2 3 4 5 6 다음 반응형