본문 바로가기

Back_end/Spring25

SPRING [#1.1] 회원가입 기능(Table, DTO, Mapper) 포스팅 해야 할 것 데이터베이스 테이블 생성 및 DTO 생성 (MySQL, DTO) Mapper.xml 추가 (insert 쿼리문 + 관리자 아이디, mapper.xml) 인터페이스 Service Controller 호원가입 메서드 추가 jsp 회원가입 기능 구현 회원가입페이지(join)에서 필요 정보 입력 입력 후 '가입하기' 버튼 클릭 이후 DB에 저장되고 화면은 메인 페이지로 이동 데이터베이스 테이블 생성 및 DTO 생성 회원가입 후 DB에 저장되기 위해서는 회원 테이블(USERS)와 DTO(User)가 필요 MySQL 워크밴치를 사용 1) SQL 테이블 생성 몇몇 데이터 정보는 필수 입력이 아니지만, 모든 정보가 NULL이 불가능하도록 하였습니다. CREATE TABLE USER( email VA.. 2022. 11. 19.
SPRING [#1] 메인페이지, 로그인페이지, 회원가입페이지 포스팅 해야 할 것 메인 페이지 제작 메인 페이지 Controller 설정 로그인, 회원가입 페이지 제작 로그인, 회원가입 페이지 Controller 설정 -------------------------------------- 회원가입페이지(join.jsp)에서 필요 정보 입력 입력 후 가입하기 버튼 클릭 DB저장 -> 화면은 메인 페이지 이동 메인 페이지 생성 Login area 개발을 위한 main.jsp 생성 main1.jsp를 'src/main/webapp/WEB_INF/jsp'경로에 생성 jsp디자인을 위한 css는 분리하여 'src/main/webapp/resources/_nuxt/css' 경로에 css 파일을 생성 후 jsp와 css파일을 연결하는 태그를 추가 메인 페이지(header)에 로그.. 2022. 11. 17.
SPRING [#0] 프로젝트 생성 및 환경설정 개발환경 이클립스 4.24.0 JDK 11 Apache Tomcat 9.0 Work Bench & MySQL Mybatis Mac (M1) 기능 스프링 프레임워크(Meaven)을 기반으로 한 포트폴리오를 제작 합니다. 쇼핑몰의 핵심적인 기능과 + 관리자 페이지를 제작하여 간단한 유져 정보들을 받아보고자 합니다. 로그인, 회원가입 관리자 페이지 검색 게시판 구매, 장바구니 프로젝트 생성 및 환경설정 Spring MVC 프로젝트 생성 및 기본환경 설정 테스트는 생략하도록 하겠습니다. 최대한 기능 + 실습 중심으로 포스팅 할 까 합니다. spring_meaven 프로젝트를 MySQL과 연결하여 생성 My Batis 라이브러리 추가, SQLSessionFactory 설정 Meaven 코드를 pom 파일에 추가 .. 2022. 11. 14.
SPRING[4] 스프링 Unit Test 테스트 코드를 왜 작성하는가? 운영 배포 이전에 코드가 의도한대로 작동하는지를 확인하기 위함 추후에관련코드변경이있을경우에작성해둔테스트케이스로사이드이펙트를최대한줄이기위함 테스트를 작성하는 과정에서 코드의 모듈화가 자연스럽게 이뤄지며 체계적인 코드 작성이 가능함 테스트의 종류 테스트는 단위 테스트, 통합 테스트, 기능 테스트가 있음 1. 단위 테스트 (Unit Test) 클래스 범주 내에서 작은단위(함수단위)의 기능에 대한 유효성을 검증함 간단한예시 with Code: a와 b를 입력받아 a*b를 수행하는 메소드 2. 통합 테스트 (Integration Test) 서로 다른 모듈, 클래스 간 상호작용의 유효성을 검사하는 테스트 순수 자바 객체만을 기반으로 테스트 하는 것이 아닌, IoC컨테이너, DB 등 다.. 2022. 11. 11.
SPRING[3] 스프링 JPA + 배치 DB에 접근하는 방법은 무엇이 있는가? jdbc 활용과, JPA JPA Java Persistence API로 자바 진영에서 ORM 표준 기술로 사용되는 인터페이스 모음이다. JPA를 사용하는 이유? 반복되는 CRUD SQL을 대신해줌 개발자 대신 적절한 SQL을 생성하고 데이터베이스를 조작해서 객체를 자동으로 매핑하여 문제점을 보완한다. JPA 사용을 위한 Entity 만들기 @Getter : Lombok 의 get method @Entity : 해당 클래스를 DB 테이블과 연결 @Table : 테이블의 이름을 명시적으로 표현 @Id : 테이블의 PK @GeneratedValue : PK 생성 규칙 @Column : 각 테이블의 컬럼을 표현 JpaRepository 생성 Market 클래스로 DB 에 .. 2022. 11. 10.
SPRING[2] 클린 아키텍쳐 계층형 아키텍쳐와, 클린 아키텍쳐의 차이가 무엇인가? Go ahead 계층형(Layer) 아키텍쳐 웹, 도메인, 영속성 계층으로 구성된 전통적인 웹 어플리케이션 구조 (유사 관심사를 기준으로 레이어로 묶어 수평적으로 완성) 프레젠테이션 계층 : UI / 웹, 클라이언트와 접점 비즈니스 계층 : 서비스 / 도메인 계층 데이터 접근 계층(영속성) : 데이터베이스 접근 계층형 아키텍쳐 단점 계층형 아키텍쳐는 데이터베이스 주도 설계를 유도함 엔티티는 보통 영속성 계층형 위치한다. 따라서 도메인 계층에서 엔티티에 접근이 가능함 -> 이는 결합을 유발 클린 아키텍쳐 코어는 Use-Case 와 도메인 엔티티이다. 아래 사진처럼 모든 의존성은 안쪽으로 향한다. 핵심은 Entity, Controller는 외부와 소통한다.. 2022. 10. 26.