2025/03 10

[Spring boot] Bank App 만들어 보기 - 21. 출금 기능 만들기

💡 학습 목표 1. withdrawal.jsp 파일 생성 및 코드 추가 2. 출금 화면 요청 및 기능 구현 3. 전체 코드 확인 4. 디버그 모드 동작 시켜 보기   1. withdrawal.jsp 파일 생성 및 코드 추가save.jsp 파일을 복사 붙여 넣기 하고 아래와 같이 코드를 수정하세요 출금 요청(인증) Bank App 오신 걸 환영합니다. 출금 금액 : 출금 계좌 번호 : 출금 계좌 비밀 번호 : 출금 요청 : form 태그에 action 속성에 URI 값이 잘 확인 하세요, name 속성을 잘 확인 해주세요  2. AccountController 코드 추가 - 출금 화면 요청: 인증검사 ..

Spring boot 2025.03.07

[Spring boot] Bank App 만들어 보기 - 20. 중간 리팩토링

💡 리팩토링이란(Refactoring) 소프트웨어의 외부 동작을 변경하지 않으면서 내부 구조를 체계적으로 개선하는 과정을 말합니다. 이 과정은 코드의 가독성을 높이고, 유지보수를 용이하게 하며, 오류 발견 및 수정을 용이하게 하는 것을 목표로 합니다. 리팩토링은 소프트웨어 개발의 중요한 부분으로, 코드의 품질을 지속적으로 향상시키기 위해 필요합니다.  리팩토링의 목적가독성 향상: 코드를 더 이해하기 쉽게 만들어 다른 개발자가 코드를 빠르게 이해하고 수정할 수 있도록 합니다.유지보수성 개선: 코드의 구조를 개선하여 나중에 버그를 수정하거나 새로운 기능을 추가할 때 필요한 노력을 줄입니다.성능 최적화: 비효율적인 코드를 개선하여 애플리케이션의 실행 성능을 향상시킬 수 있습니다.재사용성 증가: 코드의 모듈성..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 19. 계좌 목록 만들기(1단계)

💡 작업 순서 1. AccountRepository, account.xml 코드 수정하기 2. 계좌 목록 기능 만들기 3. account/list.jsp 파일을 생성(코드 복사 후 수정)   1. AccountRepository, account.xml 코드 수정하기package com.tenco.bank.repository.interfaces;import java.util.List;import org.apache.ibatis.annotations.Mapper;import com.tenco.bank.repository.model.Account;@Mapper public interface AccountRepository { // 코드 확인 (계좌 생성) public int insert(Account ..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 18. 계좌 생성(유효성, 인증검사 중 누가 먼저 일까?)

💡 학습 목표 1. account/save.jsp 파일 생성 및 AccountController 생성 및 구현 2. AccountSaveDTO 설계 하기 3. 계좌 생성 기능 만들기  파싱이란?💡 파싱(parsing)은 주어진 데이터(예: 문서, 파일, 문자열 등)를 분석하여 구조를 이해하고, 필요한 정보를 추출 또는 변환하는 과정을 의미합니다. 프로그래밍에서는 주로 원시 데이터를 원하는 형태로 가공하기 위해 사용되며, 예를 들어 HTML 문서에서 특정 데이터를 추출하거나, JSON 문자열을 객체로 변환하는 등의 작업이 파싱에 해당합니다.  클라이언트 측에서 데이터를 서버로 보내면 그 값을 분석해서 원하는 객체로 변경을 해 주는지 동작 흐름을 다시 한번더 조사해보세요   1. account/save...

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 17. 헤더 링크 설정 및 JSTL 태그 활용

💡 작업 순서 1. header.jsp 의 화면 수정과 링크 연결 작업 2. JSTL 개념 및 기본 태그 살펴 보기 3. JSTL 적용해 보기   1. header.jsp 의 화면 수정과 링크 연결 작업 아래 그림에 해당하는 부분들을 변경해 봅시다.  header.jsp Tenco Bank JSP, 마이바티스를 활용한 간단한 Bank 시스템 만들어 보기 HOME Sign in Sign up Logout About Me Photo of me: Some Links 계좌 목록,생성,출금,입금,이체 페이지를 사용할 수 있어요 ..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 16. 로그인 처리(세션 메모리지는 누가 관리하고 있을까?)

💡 학습 목표 1. signin.jsp 파일 생성 및 로그인 화면 요청 기능 구현 2. 로그인 처리 기능 만들기 3. 로그아웃 기능 만들기    1. signin.jsp 파일 생성 및 로그인 페이지 요청 기능 구현  signin.jsp 파일 생성 - signUp.jsp 파일에 있는 코드를 그대로 복사 후에 간단한 수정을 해주세요 로그인 Bank App 오신 걸 환영합니다. Username: Password: 로그인    UserController에 코드 추가 ... 코드 생략 /** * 로그인 화면 요청 * 주소 설계 http://localhost:8080/user/sign-in */ @GetMapping("/sign-in") public ..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 15. 회원 가입(트랜잭션, 예외 처리, H2 테이블 생성)

💡1. dto 설계 하기 및 개념 확인(사전 기반 지식)      2. UserController, UserService 설계 및 유효성 검사, 예외 처리      3. h2 스키마 및 초기 데이터 셋팅      4. 회원 가입 화면 구현  1. 사전 기반 지식 DTO 패키지와 Model 패키지를 분리하는 것이 바람직하다. 💡 DTO(Data Transfer Object)와 모델 클래스를 분리하여 패키지를 만드는 것이 좋습니다. 그 이유는 다음과 같습니다:1. 코드의 가독성 및 유지 보수성: DTO와 모델 클래스를 별도의 패키지로 구분함으로써 코드의 구조가 명확해지고, 관련 클래스를 찾기 쉬워집니다. 이를 통해 유지 보수성이 향상됩니다. 2. 객체의 역할 구분: 모델 클래스는 데이터베이스의 테이블 구..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 14. MyBatis 설정 (DB 접근 기술이란?)

💡 학습 목표1. MyBatis 란 뭘까? 2. MyBatis 의존성 설정 확인 3. yml 파일 매퍼 설정 확인 4. mapper 패키지 및 xml 파일 생성  공식 문서 확인mybatis – MyBatis 3 | Introduction MyBatis 3 | Introduction – mybatisWhat is MyBatis? MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval o..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 13. 어노테이션 정리

@Autowired: 의존성 주입(Dependency Injection)을 수행할 때 사용되며, 필드, 생성자, 메서드에 적용할 수 있습니다.@Controller: 웹 애플리케이션의 컨트롤러 클래스를 표시합니다.@Service: 비즈니스 로직을 수행하는 서비스 클래스를 표시합니다.@Repository: 데이터 액세스 계층에 사용되는 리포지토리 클래스를 표시합니다.@RestController: RESTful 웹 서비스의 컨트롤러 클래스를 표시합니다. **@Controller**와 **@ResponseBody**를 함께 사용하는 단축 형태입니다. @Configuration과 @Component의 주요 차이점@Configuration은 스프링 빈을 정의하는 설정 클래스에 붙이는 반면, @Component는 단..

Spring boot 2025.03.05

[Spring boot] Bank App 만들어 보기 - 12. Exception Handler 처리(HTTP 상태 코드가 뭘까?)

💡 학습 목표 1. @ControllerAdvice, @RestControllerAdvice 는 뭘까? 2. @ControllerAdivce 와 @RestControllerAdivce 에 차이점을 이해 하자. 3. 사용자 정의 예외 클래스를 만들기 4. @ControllerAdvice 구현해 보기 5. 에러 페이지 코드 수정 (errorPage.jsp) 6. 직접 예외 발생해보기    1. @ControllerAdvice, @RestControllerAdvice 는 뭘까? HTTP 통신을 통해 예외 상황을 클라이언트에게 알려주는 방법은 여러 가지가 있으며, 이들을 적절히 사용하는 것이 중요합니다. **@ControllerAdvice**와 **@RestControllerAdvice**는 Spring Fr..

Spring boot 2025.03.05