Spring boot 60

Bank App 만들기 - 출금 기능

withdrawal.jsp 출금요청(인증) Bank App에 오신걸 환영합니다. 출금 금액: 출금 계좌 번호: 출금 계좌 비밀번호: 출금 요청   결과 화면 확인 WithdrawalDTOpackage com.tenco.bank.dto;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;@Data@NoArgsConstructor@AllArgsConstructor@Builder@ToStringpublic class WithdrawalDTO { private Long..

Spring boot 2024.08.13

Bank App 만들기 - 중간 리팩토링

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

Spring boot 2024.08.13

Bank App 만들기 - 계좌 생성(유효성, 인증검사 중 무엇이 우선인가)

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

Spring boot 2024.08.13

Bank App 만들기 - 헤더 링크 설정 및 JSTL 태그 활용

header.jsp 의 화면 수정과 링크 연결 작업아래 그림에 해당하는 부분들을 변경해보자. header.jsp My Bank 마이바이티스를 활용한 스프링 부트 앱 만들어보기 홈 로그인 회원가입 로그아웃 About Me Photo of me: 코린이 개발을 위한 뱅크 앱 서비스 목록 계좌 목록, 생성, 출금, 입금, 이체 페이지를 활용할 수 있습니다. 내 계좌목록 신규계좌 생성 출금 입금 이체   JSTL..

Spring boot 2024.08.12

Bank App 만들기 - 로그인 처리(세션 메모리지는 누가 관리하고 있을까)

signIn.jsp 파일 생성 및 로그인 페이지 요청 기능 구현 결과 화면 user/signIn.jsp 로그인 Bank App에 오신걸 환영합니다. username: Password: 로그인  UserController 로그인 화면 요청 기능 추가 및 코드 수정/** * 회원가입 로직 처리 요청 (기능 요청) * 주소설계 - http://localhost:8080/user/sign-up * @param dto * @return */ @PostMapping("/sign-up") public String signUpProc(SignUpDTO dto) { // dto와 매핑 System.out.println("test : " + dto.toString());..

Spring boot 2024.08.12

Bank App 만들기 - 회원가입(트랜잭션, 예외 처리, H2 테이블 생성)

사전 기반 지식 DTO 패키지와 Model 패키지를 분리하는 것이 바람직하다. DTO(Data Transfer Object)와 모델 클래스를 분리하여 패키지를 만드는 것이 좋다. 그 이유는 다음과 같다:코드의 가독성 및 유지 보수성: DTO와 모델 클래스를 별도의 패키지로 구분함으로써 코드의 구조가 명확해지고, 관련 클래스를 찾기 쉬워진다. 이를 통해 유지 보수성이 향상된다.객체의 역할 구분: 모델 클래스는 데이터베이스의 테이블 구조를 표현하는 반면, DTO는 클라이언트와 서버 간의 데이터 전송을 담당한다. 이 두 객체의 역할이 다르기 때문에, 별도의 패키지로 구분하는 것이 좋다.유연한 변경: 애플리케이션의 요구 사항이 변경되면 DTO와 모델 클래스의 변경이 독립적으로 이루어질 수 있다. 이렇게 구조를 ..

Spring boot 2024.08.12

Bank App 만들기 - MyBatis 설정(DB 접근 기술)

공식 문서 확인https://mybatis.org/mybatis-3/ mybatis – MyBatis 3 | IntroductionWhat 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 of results. MyBatis can usemybatis.org MyBatisMyBatis는 자바 언어를 위한 데이터베이스 연동 프레임워크로, SQL 쿼리와 자바 코드를..

Spring boot 2024.08.09

어노테이션 정리

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

Spring boot 2024.08.08