함께 성장하는 기록장

꾸준한 기록이 모여 도서관이 될 수 있도록

Spring 4

Spring이란?

Spring(스프링)으로 웹 개발은 해봤지만 막상 스프링을 정의하자니 어려움이 있었다. 무언가를 사용하는 것도 좋지만, 사용 원리에 대해서 아는 것도 중요하다. 그래서 이번 시간에 스프링이 무엇인지 정리해보려고 한다. 스프링 공식 페이지  (https://spring.io/)   Spring의 정의스프링이란 무엇일까?스프링을 보통 다음처럼 정의한다.자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 정의를 하나씩 뜯어보자면, 자바 엔터프라이즈 개발을 편하게 해주는  > EJB 복잡함을 다른 방식으로 접근하여, 엔터프라이즈 개발에서 필요한 기술적 요구를 충족하면서도 개발을 복잡하지 않게 한다. EJB(Enterprise Java Bean)Java EE(Enterprise Edit..

Spring 2024.09.02

Spring MVC 구조와 레이어드 아키텍처

Spring MVC & Layered Architecture이번에는 MVC 패턴과 레이어드 아키텍처를 통해 Spring의 기본적인 동작 방식을 알아보려고 한다. MVC와 Layered Architecture에 대한 내용을 각각 살펴보고, Spring에서의 동작 과정을 알아보는 순서로 작성했다. MVCModel, View, Controller를 의미하며 애플리케이션의 요소를 세 가지 역할로 구분한 패턴이다. 역할에 따라 나뉘므로 낮은 결합도를 가지고, 개발과 유지 보수가 수월해진다. 또한 재사용성이 높아져 애플리케이션의 유연성도 향상된다.Model(모델)애플리케이션의 데이터로, 데이터 정보를 가공하여 가지고 있는 컴포넌트이다. 데이터 처리 및 저장소와의 상호작용을 포함한 데이터와 비즈니스 로직을 다룬다. ..

Spring 2024.07.09

Spring Security 알아보기 - 개념, 과정

Spring SecuritySpring을 통해 어플리케이션을 만들다보면 로그인 기능을 사용할 때가 있다. 이런 보안과 관련한 기능들을 직접 구현하기에는 어려움이 많은데, Spring Security가 제공하는 보안과 관련한 기능(인증, 인가 등)을 이용하면 개발자는 보안관련 로직을 직접 작성하지 않고 서비스 로직에 집중할 수 있다. 즉 Spring Security는 인증(Authentication)과 인가(Authorization)에 대한 처리를 위임하는 프레임워크이다.  우선 어떻게 동작하는지 알아보면 좀 더 와닿을 것 같고, 이해가 잘 된 것 같아 흐름을 정리하려고 한다.  Spring Security 아키텍처Spring Security는 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리한다...

Spring 2024.07.04

Maven vs Gradle

스프링부트 프로젝트를 진행하면서 자료를 찾아볼 때 Maven 자료가 꽤 많이 발견되었다. 스프링부트와 Gradle로 웹 개발을 시작한 나에게는 생소하기도 하고, Gradle에 적응해서인지 조금 읽기 힘들게 느껴졌다. 그래도 Maven이 먼저 나와 스프링을 이끌었고, 편의성을 추가한 Gradle이 나올 수 있었다고 생각한다. 어쨌든 Maven 구조를 알아두면 자료를 찾을 때 도움이 될 것 같아서 정리해보고자 한다.   빌드 관리 도구(Build Tool) 우선 Maven과 Gradle은 모두 빌드 관리 도구이다. 그렇다면 빌드의 개념을 알아야 할 필요가 있을 것 같다.  빌드(Build)란? 빌드란 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정 및 그 결과를 말한다. 빌드를 실..

Spring 2024.07.04