Spring | Spring Boot18 [Spring] 싱글톤 패턴이란? 그리고 스프링에서의 싱글톤 싱글톤 패턴(Singleton Pattern)싱글톤 패턴(Singleton Pattern)은 객체지향 프로그래밍에서 자주 사용되는 디자인패턴입니다. 소프트웨어 디자인 패턴 중 하나인 싱글톤 패턴의 핵심은 클래스의 인스턴스를 딱 하나만 생성하여 애플리케이션 전체에서 공유한다는 것입니다. 생성자가 여러 번 호출이 되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴합니다. 이런 싱글톤 패턴을 사용하면 메모리 사용을 줄일 수 있으며, 데이터의 공유가 편해집니다. 이 글에서는 싱글톤 패턴이 무엇인지 그리고 자바를 이용하여 싱글톤을 구현해보고 장단점을 보겠습니다.스프링에서 싱글톤 패턴을 어떻게 사용하는지까지 예제와 그림을 통해서 완벽하게 이해하는 시간을 .. 2024. 4. 25. [Spring] 빈 생명주기 콜백 - 꼬리에 꼬리를 물고 완벽 이해하기 빈 생명주기 콜백프로그램을 작성하면서 우리는 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화와 종료 작업이 필요하다. (Ex: 커넥션 풀의 connect & disconnect) 이해를 돕기 위해 네트워크에 연결하는 동작을 표현하는 NetworkClient 예제 클래스를 보겠습니다. NetworkClientpublic class NetworkClient { private String url; public NetworkClient() { //NetworkClient를 생성하면 생성자가 호출된다. System.out.print.. 2024. 4. 24. [Spring] 스프링과 스프링부트(Spring Boot) 이 글에서는 초보자 관점으로 이해하기 쉽게 스프링과 스프링 부트에 대해서 알아보도록 하겠습니다. 저 뿐 아니라 많은 분들이 스프링(Spring)과 스프링 부트(Spring Boot)의 차이점을 잘 모르고 사용하는 경우가 있습니다. 그 차이점과 장점 등등 이 글을 통해 완벽하게 이해할 수 있게 될 것입니다. 우선 Spring과 Spring Boot는 모두 스프링 프레임워크를 기반으로 한 자바 웹 개발 프레임워크입니다. 하지만, 둘 간에는 몇가지 차이점이 존재합니다. 스프링(Spring) Spring은 스프링 프레임워크의 핵심 모듈을 모아서 만든 프레임워크입니다. 우리가 흔히 말하는 스프링은 여러 가지 관점에서 사용하고 있는데요. 스프링 생태계 자체를 스프링이라고 얘기하는 경우도 있고, 스프링 프레임워크를 .. 2024. 4. 20. [Spring] IoC(제어의 역전)와 DI(의존성 주입)의 완벽 이해 IoC(Inversion of Control) IoC란 제어의 역전이라는 의미로 메서드나 객체의 호출 작업을 개발자가 결정하는 것이 아닌 외부에서 결정하는 것을 의미합니다. 간단히 말해, "제어의 흐름을 바꾼다" 라고 합니다. 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 중복, 유지보수를 편리하게 할 수 있게 해줍니다. 아래 코드와 같이 A 클래스는 B 클래스를 직접 생성하고 있으며, A 객체가 생성되면 B 객체도 같이 생성되고 있습니다. 이 방법은 A 객체가 B 객체를 new 생성자를 통해 직접 생성하는 방법입니다. class B { // B 클래스의 구현 내용 } class A { private B b; public A() { b = new.. 2024. 3. 20. [Spring] 스프링(Spring)이란? 스프링(Spring)이란? 스프링(Spring)은 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크입니다. 무슨 말이지 이해가 안될 것 같으니 좀더 자세히 살펴보도록 하겠습니다. 엔터프라이즈용 Java 애플리케이션 개발을 편하게 해주는.. "엔터프라이즈용" 이라는 단어는 대규모 기업이나 조직에서 사용되는 소프트웨어 애플리케이션을 의미합니다. 기업에서 운영하는 웹 서비스에는 비즈니스 로직이라는 것이 있습니다. 여기서 비즈니스 로직이란, 기업에 제공하는 서비스 코드를 구현한 것으로, 사용자의 요구사항을 해결하기 위한 실질적인 코드입니다. 비즈니스 로직을 구현하는 기술 자체가 정말 복잡하고 어려웠기 때문에, 스프링이 등장하기 이전에는 비즈니스 로직을 .. 2024. 3. 20. [Spring] 스프링 컨테이너와 자동/수동 빈 등록 개념 정리 인프런의 김영한님의 Spring 강의를 들으며 공부한 내용을 복습 차원에서 작성한 글이다. 이번 글에서는 스프링 컨테이너와 빈 등록(자동/수동) 방법에 대해 알아보겠다. 스프링 컨테이너란? 스프링 컨테이너는 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 한다. 여기서 말하는 자바 객체를 스프링에서는 빈(Bean) 이라고 부릅니다. 여기 글에서는 다루지 않지만, IoC와 DI의 원리가 이 스프링 컨테이너에 적용이 된다. (IoC와 DI, 제어와 역전 그리고 의존성 주입에 대해 잘 모르신다면 알아서 알아오기~) 개발자가 new 연산자, 인터페이스 호출 등등의 방식으로 객체를 생성하고 소멸시킬 수 있는데, 이 작업을 스프링 컨테이너가 대신해 줍니다. 즉, 제어 흐름.. 2024. 3. 12. 이전 1 2 3 다음 반응형