Spring
Spring_06)Spring Boot 웹 애플리케이션 개발 가이드
2025.10.31
Spring Boot는 자바 기반 웹 애플리케이션을 빠르게 개발할 수 있도록 돕는 프레임워크이다. 복잡한 설정 없이 독립 실행 가능한 애플리케이션을 구축할 수 있으며, 내장 톰캣을 통해 별도의 WAS 설정 없이도 실행할 수 있다.본 가이드는 Spring Boot 3.5.6 버전을 기반으로 JSP 뷰, MyBatis ORM, Oracle 데이터베이스를 활용한 웹 애플리케이션 개발 과정을 다룬다. Spring Boot를 처음 접하는 개발자나 레거시 JSP 환경에서 마이그레이션을 고려하는 개발자에게 실질적인 도움이 될 것이다.기술 스택본 프로젝트는 다음의 기술 스택을 사용한다.Spring Boot: 3.5.6Java: 17View Template: JSPORM: MyBatisDatabase: Oracle Da..
Spring
Spring_05) Spring Boot BCrypt 비밀번호 암호화
2025.10.29
학습 목표BCrypt 암호화의 개념과 필요성을 이해한다Spring Security의 BCryptPasswordEncoder를 활용하여 비밀번호를 암호화한다암호화된 비밀번호의 검증 메커니즘을 학습한다회원가입, 로그인, 비밀번호 변경 시나리오에서 암호화를 적용한다웹 애플리케이션에서 사용자의 비밀번호를 평문으로 저장하는 것은 심각한 보안 위험을 초래한다. 데이터베이스가 유출되었을 때 모든 사용자의 비밀번호가 그대로 노출되며, 이는 곧 개인정보 침해로 이어진다. 따라서 비밀번호는 반드시 암호화하여 저장해야 한다.비밀번호 암호화는 단순한 인코딩이나 양방향 암호화가 아닌, 복호화가 불가능한 단방향 해시 함수를 사용해야 한다. 이를 통해 원본 비밀번호를 유추할 수 없도록 보호한다.- BCrypt의 정의BCrypt는 ..
Spring
Spring_04) Aspect-Oriented Programming
2025.10.28
Spring Boot AOP를 활용한 프로젝트 개선학습 목표Filter와 Interceptor의 한계점을 이해한다AOP의 개념과 작동 원리를 학습한다기존 코드를 AOP로 리팩토링하는 방법을 익힌다커스텀 어노테이션을 활용한 선언적 프로그래밍을 구현한다- 현재 프로젝트의 구성Spring Boot 프로젝트는 일반적으로 컨트롤러, 서비스, 필터, 인터셉터로 구성된다. 현재 프로젝트는 다음과 같은 패키지 구조를 가진다.src/main/java/com/kh/spring/├── controller/│ ├── MemberController.java│ ├── BoardController.java│ └── HomeController.java├── service/│ ├── BoardServiceImpl.jav..
Spring
Spring_03) Filter와 Interceptor
2025.10.23
학습 목표Spring에서 Filter와 Interceptor의 역할과 차이점을 이해한다요청 처리 과정에서 Filter와 Interceptor가 실행되는 순서를 파악한다실무에서 활용할 수 있는 Filter와 Interceptor 구현 방법을 학습한다로깅과 인증 처리 등 실제 사용 사례를 통해 활용법을 익힌다웹 요청 처리 과정의 이해웹 애플리케이션에서 클라이언트의 요청이 서버에 도달하여 응답을 반환하는 과정은 복잡한 단계를 거친다. 이 과정에서 Filter와 Interceptor는 요청을 가로채서 특정 작업을 수행할 수 있는 중요한 메커니즘이다.요청 처리 과정의 전체 흐름클라이언트의 HTTP 요청이 서버에 도달하면 다음과 같은 순서로 처리된다.Filter → 2. DispatcherServlet → 3. I..
Spring
Spring_02) JSP → MyBatis → Spring 계층별 구조 MVC패턴의 변화
2025.10.22
학습 목표JSP 프로젝트에서 Spring 프로젝트까지의 계층별 구조 변화를 이해한다DAO, Service, Controller 계층의 역할과 구현 방식 변화를 파악한다각 기술 스택별 특징과 장단점을 비교 분석한다실무에서 적용 가능한 아키텍처 패턴을 학습한다웹 애플리케이션 아키텍처의 진화웹 애플리케이션 개발에서 가장 중요한 것은 관심사의 분리이다. 비즈니스 로직, 데이터 접근 로직, 사용자 인터페이스 로직을 명확히 구분하여 각각의 역할에 집중할 수 있도록 하는 것이 핵심이다.MVC 패턴의 기본 원리MVC 패턴은 Model-View-Controller의 약자로, 애플리케이션을 세 개의 주요 구성 요소로 분리한다. Model은 데이터와 비즈니스 로직을 담당하고, View는 사용자 인터페이스를 담당하며, Con..