본문 바로가기

728x90
728x90

spring boot

[Spring] docker, Elasticsearch, SpringBoot로 검색 기능 구현 - 컴도리돌이 [Docker] 도커로 ELK8버전 사용하기 - 컴도리돌이이번에 회사에서 ELK를 도입을 본격적으로 시작하였습니다. 🥺 하지만 올해 초부터 책도 선물 받고 잠깐 열심히 공부했지만, 역시 저란 인간은,, 나태 그 자체였습니다. 그래서 뭐 좀 알고 사용comdolidol-i.tistory.com 저번 포스팅에서 도커(dcoker)를 통해 ELK를 실행시켰습니다. 이번에는 스프링부트에서 Elasticsearch로 간단한 검색 API를 구현하려고 해요. 먼저 Spring Boot에서 Elasticsearch와 통신하기 위해 필요한 의존성을 추가해야 합니다. spring-data-elasticsearch 라이브러리를 사용하여 Elasticesearch와 연동할 수 있어요 😊dependencies { im.. 더보기
[Spring] 제어의 역전(IoC, Inversion of Control), 의존성 주입(DI, Dependency Injection)에 대하 Spring의 Ioc/DI은 Spring을 사용하면서 자연스럽게 접하게 되는 개념들이지만, 때로는 그 깊은 의미를 되새겨볼 필요가 있습니다. 이 두 가지 개념이야말로 Spring의 근본을 이루는 핵심정인 원리이기 때문이죠. 저 또한 2022년에 작성한 글을 전부 삭제하고, 새로운 마음으로 2024년에 new 포스팅 글을 작성하려고 해요.😊 Ioc, 즉 제어의 역전(Inversion of Control)과 DI, 의존성 주입(Dependency Injection)은 코드의 결합도를 낮추고, 더 유연하고 테스트 가능한 애플리케이션을 만드는 데 필수적인 역할을 해요. 여기서 궁금한 점은 왜 Spinrg은 굳이 IoC와 DI를 통해 객체 관리를 하도록 했을까요? 🤔 그 이유는 간단하면서도 깊이가 있습니다. 소프.. 더보기
[이펙티브 자바][아이템 5] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 - 컴도리돌이 자원을 직접 생성하거나 관리하는 방식은 코드의 유연성과 유지보수성을 크게 제한할 수 있습니다. 자원을 직접 관리하고 명시하는 방식이 실제로는 많은 문제를 초래할 수 있다고 합니다. 왜 그럴까요? 🤔 자원을 직접 명시하는 경우, 예를 들어 파일 읽기와 같은 작업을 수행하는 유틸리티 클래스를 작성한다고 가정해 볼게요.파일을 읽기 위해 BufferedReader를 직접 생성하는 클래스 FileReaderUtil을 만들었다고 생각해 보면, 클래스 내부에서 직접 BufferedReader를 생성하고 관리하는 코드가 들어가죠. 이렇게 되면, 이 클래스는 파일 시스템과 강하게 결합되게 됩니다. 즉, 파일 경로와 파일을 여는 방식이 하드코딩되어 있어, 만약 파일 경로를 바꾸거나 다른 파일 시스템 접근 방식을 사용해야.. 더보기
[Spring] @RequestMapping 어노테이션에 대해서 - 컴도리돌이 @RequestMapping @RequestMapping은 Spring Framework에서 컨트롤러 메서드에 대한 매핑을 지정하는 데 사용되는 어노테이션입니다. 이 어노테이션은 클래스 수준 또는 메서드 수준에서 사용될 수 있습니다. 클래스 수준에서 사용할 경우, 해당 클래스의 모든 메서드에 적용됩니다. @Controller @RequestMapping("/example") public class ExampleController { @RequestMapping("/hello") public String hello() { return "helloPage"; } } // 위에 코드에서 클라이언트에서 "/example/hello" 경로에 요청을 보내면 // 서버에서는 hello 메서드가 실행되면서 클라이언트한.. 더보기
[Spring] @SpringBootApplication의 내부적으로 수행하는 작업 - 컴도리돌이 @SpringBootApplication @SpringBootApplication은 Spring Boot FrameWork에서 주요한 어노테이션 중 하나로, Spring Boot Application을 개발하는 데 사용 됩니다. 해당 어노테이션을 사용하면 Spring Boot는 Application 설정을 자동으로 구성하고, 필요한 Spring Bean 들을 자동으로 검색하여, classpath에 있는 라이브러리들을 기반으로 자동 구성을 활성화합니다. @SpringBootApplication에서는 내부적으로 다음과 같은 일을 수행합니다 @SpringBootConfiguration Spring Boot에서 사용되는 특수한 유형의 @Configuration으로, 설정 클래스를 지정할 수 있습니다. 클래스 내.. 더보기