* 클래스 패스: java 애플리케이션에서 클래스파일과 리소스 파일을 찾는 경로
(포함 범위)
C:\USERS\{username}\{projectName}
│
├─src
│ ├─main
│ │ ├─java
│ │ └─resources
│ └─test
│ ├─java
│ └─resources
│
├─target
│ ├─classes
│ └─test-classes
│
├─lib
│ ├─dependency1.jar
│ └─dependency2.jar
│
└─other-resources
* application.properites 설정 목록
ㅇ spring.datasource.driverClassName = org.mariadb.jdbc.Driver: 이 설정은 데이터베이스 연결에 사용할 JDBC 드라이버 클래스를 지정합니다. 여기에서는 MariaDB 데이터베이스를 사용하고 있으며, 해당 드라이버 클래스는 MariaDB에 연결하는 데 필요한 드라이버 클래스입니다.
ㅇ spring.datasource.jdbcUrl = jdbc:mariadb://localhost:3306/example: 이 설정은 데이터베이스 서버의 JDBC URL을 지정합니다. MariaDB 데이터베이스가 로컬 호스트(localhost)에서 포트 3306을 통해 접근 가능하며, "example" 데이터베이스에 연결하겠다는 것을 의미합니다.
ㅇ spring.datasource.username = example: 이 설정은 데이터베이스 연결 시 사용할 사용자 이름을 지정합니다. 여기에서는 "example" 사용자로 데이터베이스에 연결하겠다는 것을 나타냅니다.
ㅇ spring.datasource.password = example: 이 설정은 데이터베이스 연결 시 사용할 사용자의 비밀번호를 지정합니다. "example" 사용자의 비밀번호를 설정하고 데이터베이스에 연결하겠다는 것을 나타냅니다.
이러한 설정을 통해 스프링 부트 애플리케이션은 MariaDB 데이터베이스에 정확한 드라이버, JDBC URL, 사용자 이름 및 비밀번호를 사용하여 연결할 수 있습니다.
* pom.xml 설정:
pom.xml 파일에는 MariaDB JDBC 드라이버 의존성이 추가되었습니다. 이 의존성을 통해 애플리케이션은 MariaDB 데이터베이스와의 연결을 관리할 수 있습니다.
* configuration spring 파일 동작 원리
동작 원리 및 이유:
DatabaseConfiguration 클래스의 dataSource() 메서드는 DataSource 빈을 생성하고 데이터베이스 연결 정보를 application.properties 파일에서 설정된 값으로 초기화합니다.
이 설정은 스프링 부트 애플리케이션의 실행과 함께 로드되며, DataSource 빈은 스프링 IoC 컨테이너에서 관리됩니다.
애플리케이션의 다른 컴포넌트(서비스, 리포지토리 등)는 이 DataSource 빈을 주입받아 데이터베이스와의 상호작용을 수행합니다.
설정을 application.properties 파일에서 관리함으로써, 데이터베이스 연결 정보를 중앙 집중화하고 쉽게 변경할 수 있으며, 스프링 부트가 설정을 읽고 빈을 생성하도록 지원합니다.
* 롬북?
롬복(Lombok)은 Java 언어를 위한 간편한 라이브러리로, 주로 코드 작성 및 관리를 간소화하는 데 사용됩니다. 롬복은 다양한 기능을 제공하며, 주요 목표는 반복적이고 장황한 코드 작성을 줄이고, 코드의 가독성을 향상시키는 데 도움을 주는 것입니다.
롬복이 제공하는 주요 기능은 다음과 같습니다:
애노테이션을 사용한 코드 생성: 롬복은 애노테이션을 사용하여 Getter, Setter, 생성자, equals 및 hashCode 메서드, toString 메서드, 로깅, 빌더 패턴 등과 같은 보일러플레이트 코드를 자동으로 생성합니다. 이렇게 생성된 코드는 컴파일 시에 자동으로 추가되므로, 개발자가 직접 이러한 코드를 작성할 필요가 없습니다.
가독성 향상: 롬복을 사용하면 코드가 간결해지고 가독성이 향상됩니다. Getter 및 Setter 메서드를 작성할 필요 없으므로 코드가 더 간결하고 읽기 쉬워집니다.
불변 객체 생성: 롬복을 사용하여 불변(Immutable) 객체를 쉽게 생성할 수 있습니다. @Value 애노테이션을 사용하면 필드가 final로 설정되어 객체가 수정될 수 없게 됩니다.
데이터 객체 생성: @Data 애노테이션을 사용하면 자동으로 Getter, Setter, equals, hashCode, toString 메서드를 생성하고, 객체를 데이터 전달용으로 쉽게 만들 수 있습니다.
빌더 패턴 생성: @Builder 애노테이션을 사용하면 빌더 패턴을 자동으로 생성할 수 있으며, 복잡한 객체를 간편하게 생성할 수 있습니다.
롬복은 Java 언어에서 반복적인 작업을 줄여주고 개발자가 코드에 집중할 수 있도록 도와주는 유용한 라이브러리입니다. 특히 데이터 객체, DTO(데이터 전송 객체), 엔터티 클래스, 모델 클래스 등에서 사용되며, 프로젝트의 코드 생산성을 높일 수 있습니다.
'백엔드 > 스프링' 카테고리의 다른 글
스프링 어노테이션 정리 (@Data, @NoArgsConstructor, @AllArgsConstuctor) (1) | 2023.10.21 |
---|