전체 글(79)
-
[Spring] annotaion
spring에서 자주 사용되는 어노테이션들을 정리해보았다. 스프링 빈 등록 시 사용@Controller지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 컨트롤러 역할을 수행하도록 한다@Service지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 서비스 역할을 수행하도록 한다@Repository지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 DAO 역할을 수행하도록 한다해당 클래스에서 발생하는 예외는 SQLException 형식으로 변경하여 throws 한다@Component지정한 클래스를 스프링 빈으로 등록한다. 주로 특정 요소에 대한 작업을 전담하는 모듈로 구성한다.@ControllerAdvice지정한 클래스를 스프링 빈으로 등록하고, 컨트롤러에서 발생하는 예외를 모아서 처리하도록 한다..
2024.10.09 -
[Spring] Interceptor
오늘은 Interceptor를 생성하여 일부 기능은 조건에 부합하는 사용자만이 이용할 수 있도록 제한을 걸어볼거다.인터셉터가 필요한 이유ex) 로그인 필요한 컨트롤러 함수에는 같은 코드를 일괄 적용 가능.if(session.getAttribute("login") == null) {return "redirect:/member/login";}그러나, 컨트롤러 함수마다 반환형이 서로 다르고 HttpSession 을 매개변수로 추가해줘야 하기 때문에 번거롭다.메뉴의 개수가 늘어날수록 작업은 점점 더 번거로워지기 때문에이 부분을 담당할 인터셉터가 필요하다. Handle컨트롤러의 실행함수PreHandle컨트롤러 실행하기 전에 작동하는 것PostHandle컨트롤러가 끝나고 jsp로 넘어가기 전에 실행Aftercomp..
2024.10.09 -
[Spring] mybatis mapper
jsp로 구현해 보았던 게시판을 spring으로도 한 번 구현해 보자.BoardDTO IDXNOT NULLNUMBERTITLENOT NULLVARCHAR2(500)WRITER VARCHAR2(100)CONTENTNOT NULLVARCHAR2(4000)WRITEDATE DATEISNOTICE CHAR(1)BoardController유의할 점[ 게시글을 삭제할 수 있는 조건 ]1) 로그인이 되어있는 상태일 때 2) 내가 작성한 게시글일 때 [ 추가 코드 ]컨트롤러에 들어오는 요청을 가로채서 특정 작업(예를 들어 로그인 여부 파악)을 수행하고기존 경로로 계속 안내하거나, 처리를 중단하고 새로운 응답을 반환하는 스프링 빈이 필요하다. 로그인이 되어있지 않다면 -> if(session.getAttribu..
2024.10.09 -
[Spring] HashComponent
웹사이트에서 회원들의 비밀번호를 안전하게 저장 및 관리하기 위해서 HashCompontent를 사용할 수 있다.HashComponent사용자의 password를 sha-512 해시 알고리즘이 적용된 상태로 바꿔주기 위한 컴포넌트@Component: Controller, Service, Repository 에 해당하지 않지만, 특정 내용에 대한 코드를 수행하기 위해 작동하는 스프링 빈package com.itbank.component;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.springframework.stereotype.Compone..
2024.10.09 -
[Spring] 스프링 시작하기
Spring Tool Suit를 설치하고 legacy maven 프로젝트를 실행시켜 보자.기본 설정파일root-context.xml스캔 / bean 등록.. 등 classpath:mybatis/test2-mapper.xml classpath:mybatis/test3-mapper.xml pom.xml의존성 관리 4.0.0 com.itbank day01 day01 war 1.0.0-BUILD-SNAPSHOT 11 5.3.30 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} ..
2024.10.09 -
[Spring] Spring이 뭘까?
드디어 Spring이란 것에 대해 공부하게 되었다.오늘은 Model1 과 Model2의 형식적 차이를 자세히 알아볼 것이다.구조파악JSP 웹사이트의 구조는 크게 Model1과 Model2 방식으로 나뉜다. Model1사용자의 요청을 jsp가 모두 처리하고 출력까지 한다. 장점 : HTML안에 Java와 태그들을 전부 작성하였기 때문에 빠른 개발을 도모한다.단점 : 유지보수가 어렵다. 가독성이 매우 나쁘다.. Model2사용자의 요청을 servlet 이 받아서view(jsp)로 보여줄 것인지, model로 값을 보낼 것인지 정해서 전송한다.-> 대부분의 웹은 model 2의 형식을 따른다. View는 사용자에게 보여주는 역할만 담당Model은 실질적인 기능을 담당 장점 : 유지보수 쉬움 , 다양한 서비스를..
2024.10.09