본문 바로가기

Spring7

[Spring] 로그인 처리(2/2) - 필터(Filter)와 인터셉터(Interceptor) 스프링은 공통적으로 여러 작업을 처리함으로써 중복된 코드를 제거할 수 있도록 많은 기능들을 지원하고 있습니다. 저번 시간에는 로그인을 처리하는 데 사용되는 쿠키와 세션에 대해 알아보았습니다. [Spring] 로그인 처리 (1/2) - 쿠키(Cookie)와 세션(Session)개발자(혹은 우리)가 로그인 기능을 구현할 때는 고려할 부분이 생각보다 많습니다.예를 들어, 로그인 페이지에서 아이디와 비밀번호를 서버로 전송했을 때, 서버에서 로그인을 처리하는 로직developshrimp.com  이번에는 필터와 인터셉터의 차이에 대해 알아보도록 하겠습니다. 대부분 많은 웹 서비스는 로그인을 해야 서비스를 이용할 수 있습니다.로그인을 하지 않은 사용자는 접근할 수 있는 페이지가 제한적이며 로그인이 필요한 페이지 접.. 2024. 7. 6.
[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.
반응형