본문 바로가기

Program/Spring

(23)
Clone_Project - 5(자동 로그인, KAKAO Login) 22.11.07 - Clone_Project - 5(자동 로그인, KAKAO Login) 자동로그인 View member/sign-in.jsp MVC 로그인 아이디를 입력해주세요. 비밀번호를 입력해주세요. 자동 로그인 로그인하셔서 더 많은 서비스를 이용해보세요! 회원가입 Controller MemberController package com.project.web_prj.member.controller; import com.project.web_prj.member.domain.Member; import com.project.web_prj.member.dto.LoginDTO; import com.project.web_prj.member.service.LoginFlag; import com.project.we..
Clone_Project - 4(로그인 처리, 인터셉터(Interceptor), 사용자 권한) 22.11.02 - Clone_Project - 4(로그인 처리, 인터셉터(Interceptor), 사용자 권한) 로그인 처리 config SecurityConfig package com.project.web_prj.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.Ena..
Clone_Project - 3(파일 업로드, 비동기 파일 업로드) 22.11.01 - Clone_Project - 3(파일 업로드, 비동기 파일 업로드) 파일 업로드 파일 저장 소규모 업로드 : 프로젝트 내부에 저장 대규모 업로드 : 다른 서버(FTP) View 업로드 Controller common/UploadController.java package com.project.web_prj.common; import com.project.web_prj.util.FileUtils; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springfram..
Clone_Project - 2(게시물 목록 요청 ,동적 SQL, 댓글) 22.10.31 - Clone_Project - 2(게시물 목록 요청 ,동적 SQL, 댓글) SQL mySQL SELECT * FROM tbl_board WHERE title LIKE CONCAT('%'.#{keyword},'%') WHERE writer LIKE CONCAT('%'.#{keyword},'%') WHERE content LIKE CONCAT('%'.#{keyword},'%') WHERE title LIKE CONCAT('%'.#{keyword},'%') OR content LIKE CONCAT('%'.#{keyword},'%') ORDER BY b..
Clone_Project -1 (Cookie, 페이징 처리, 글 상세 → 이전 글 목록 페이지) 22.10.28 - Clone_Project -1 (Cookie, 페이징 처리, 글 상세 → 이전 글 목록 페이지) IntelliJ 단축키 함수 안에 for문이나 함수로 뺄 수 있는거 Ctrl+ Alt + m Clone https://github.com/soongu/spring_webprj4.git Cookie Service package com.project.web_prj.board.service; import com.project.web_prj.board.domain.Board; import com.project.web_prj.board.repository.BoardRepository; import lombok.RequiredArgsConstructor; import lombok.extern.log4..
VO/DTO, @ToString, 생성자/빌더, 단위 테스트, 생성자주입VS필드 주입, Controller VS Service, Log4j2, JSP 분리 22.10.27 - VO/DTO, @ToString, 생성자/빌더, 단위 테스트, 생성자주입VS필드 주입, Controller VS Service, Log4j2, JSP 분리 VO , DTO DTO : 필요한 데이터만 받음 VO : 데이터베이스 테이블과 자바의 객체와 1:1대응하기 위함 ⇒ 테이블과 컬럼 명이 다를 떄 사용 ToString @ToString(exclude = "변수명") 이렇게 하면 ToString에서 출력할 변수를 뺄 수 있다. 생성자 , 빌더 생성자를 사용하면서 파라미터를 전달할때 각 순서에 맞게 전달해야하는 것이 번거롭다. 또 기본값을 처리하려면 또 다른 생성자를 생성해야하는데 빌더는 그럴 필요없음 코드 Board package com.spring.webmvc.board.domain..
객체 지향 설계 원칙(SOLID 원칙) ,OCP, MVC 22.10.26 - 객체 지향 설계 원칙(SOLID 원칙) ,OCP, MVC 1강-스프링 핵심원리.pdf 이론 객체 지향 설계 원칙(SOLID 원칙) SRP(단일 책임 원칙) 한 개에 여러개의 작업을 시키면 안됨 OCP(개방-패쇄 원칙) 상위 객체는 하위 객체에 일을 시킬떄 특정해서 일을 시키면 안되며 알 필요도 없다. 직접 Human employee = new Kim(); 이라고 하면 유지 보수에 안좋으므로 아래의 예시코드처럼 사용한다. LSP(리스코프 치환 원칙) 인터페이스를 벗어나지 않고 동작 ISP(인터페이스 분리 원칙) 운전 면허를 따는데 운전 + 정비를 해야하는 것이 인터페이스를 하나로 통합한 것 DIP(의존관계 역전 원칙) 구현 클래스에 의존하지 말고 역할에 의존 스프링컨테이너 : 의존 객체..
Spring Boot(SPA, REACT) 22.09.30 - Spring Boot(SPA, REACT) Spring-Boot(SPA : 한페이지에 다 있는 거), REACT활용 Controller BoardController package com.academy.bootspa.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.ModelAndView; import com.academy.bootspa.model...