Java5 [SpringBoot] 폴더링에 관련해서 (설 맞이 해커톤 1일차) 이번에 프로젝트하면서 폴더링 고민을 했습니다. 고민내용은 다음과 같습니다. 1. 폴더링을 어떻게 가져갈까?일단 폴더링을 어떻게 가져갈까에 대해서 고민했습니다. 정통적인 방식인 controller, domain, service로 분리를 하였습니다. 실제로 분리하면 다음과 같은 폴더 구조가 생성됩니다. (1) 진입 폴더에 Controller, Domain, Dto, Service, Repository, Entity 분리 상기 폴더링은 이전 프로젝트에서 했던 폴더링이었습니다. 위와같은 폴더링은 폴더 하나에 너무많은 파일이 응집되어 있어 찾기 불편하다는 점 이었습니다. 예를 들어 HealthCheck Controller 와 TODO Controller를 하나의 폴더에서 관리하는 것이 응집성을 떨어뜨린다고.. 2025. 1. 29. [Spring] Spring IoC 컨테이너와 빈에 대한 소개 (day2) Spring IoC 컨테이너와 빈에 대한 소개이 장에서는 Inversion of Control(IoC) 원칙에 대한 Spring Framework의 구현 방식을 다룹니다. Dependency Injection(DI)은 IoC의 특화된 형태로, 객체가 자신의 의존성(즉, 함께 작동하는 다른 객체)을 생성자 인자, 팩토리 메서드 인자, 또는 객체 인스턴스가 생성된 이후나 팩토리 메서드에서 반환된 후에 설정되는 속성을 통해 정의합니다. 그런 다음 IoC 컨테이너가 빈을 생성할 때 이러한 의존성을 주입합니다. 이 과정은 본래의 객체가 클래스의 직접적인 생성이나 Service Locator 패턴과 같은 메커니즘을 사용해 의존성의 생성 또는 위치를 제어하는 방식과 반대되기 때문에 Inversion of Contro.. 2025. 1. 24. [Java] @FunctionalInterface를 활용해서 깔끔한 코드 작성해보기 짧 주의 문제 상황: swift 처럼 callback함수를 통해 코딩하고 싶었는데 어떻게 할 방법이 없었음, 그래서 Function이라는 함수를 사용했는데 다음과 같은 문제점이 있었음1. callback에서 직접 throw를 처리해야함. 즉 callback에서 throw를 넘기지 못하는 문제가 발생ㅎ2. 너무나 많은 try - catchblock때문에 정신없음 As is실제 어지럽게 작성한 코드. Function로 어거지로 해결하려다가 가독성 및 제대로 수행하지 못하고 에러가 난 모습을 볼 수 있습니다. private T createPreparedStatement(String sql, Function executor) throws SQLException { try ( Conn.. 2025. 1. 23. [SpringBoot] JDBC를 통해 SQL 실행하기(JDBC Connection과 Memory Exceed) 글은 SpringBoot에서 JDBC를 통해 SQL을 실행하면서 공부했던 것을 정리하기 위함입니다. 1. Dependency등록하기JDBC를 쓰기 위해서 Database Dependency를 등록해야합니다. 가장 간단한 Memory Dependency를 설정하기 위해 H2를 활용하여 Dependency를 설정했습니다. 만약 mysql이나 oracle사용할 경우 다른 Dependency를 설정하면 됩니다. dependencies { implementation 'com.h2database:h2:2.1.214'} 2. application.properties 설정Database에서 어떤 사용자가 쓸 것인지 연결 설정을 추가합니다. h2Database를 통해 설정한다면 기본은 다음과 같습니다. spr.. 2025. 1. 23. [SpringBoot] SpringApplication Documentation (day1) https://docs.spring.io/spring-boot/api/java/org/springframework/boot/SpringApplication.htmlhttps://docs.spring.io/spring-boot/reference/features/spring-application.html SpringApplication :: Spring Bootimport org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(S.. 2025. 1. 22. 이전 1 다음