본문 바로가기

Dev/Spring20

Spring 스프링 5버전 Controller - @InitBinder 전송된 값을 받을 때 변환이 가능한 데이터는 자동으로 변환 되지만 경우에 따라서는 파라미터를 변환해서 처리향 하는 경우가 존재한다. 예를 들어, 화면에서 '2022-10-28'과 같이 문자열로 전달된 데이터를 java.util.Data 타입으로 변환하는 작업이 그러하다. 스프링5의 Controller에서는 파라미터를 바인딩 할 때 자동으로 호출되는 @InitBinder 어노테이션을 이용해서 이러한 변환을 처리할 수 있다. 🎇 예제 1) 클래스 작성 2) 컨트롤러 클래스 작성 ✨ 실행 결과 2023. 4. 6.
DI(Dependency Injection) 의존성 주입 💡의존성(Dependency)이라는 것은 하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것을 의미한다. 예를 들어 음식점에서 서빙을 담당하는 직원이 못 나오는 상황이 있어도 장사는 할 수 있지만 주방장이 못 나온다면 장사를 할 수 없는 일이 발생한다. 이처럼 의존성은 하나의 객체가 다른 객체의 상태에 따라 영향을 받는 것을 의미한다. 흔히 A객체가 B 객체 없이 동작이 불가능한 상황을 'A가 B에 의존적이다'라고 표현한다. 주입(Injection)은 말 그대로 외부에서 '밀어 넣는 것'을 의미한다. 예를 들어 어떤 음식점의 경우 매일 가게를 열기 전 직접 식재료를 구하기 위해 장을 보지만 프랜차이즈 식당들은 본사가 트럭 등을 이용해 식재료를 공급한다. 이 두 가지 방식의 차이는 필요한 객.. 2023. 4. 6.
@PathVariable 리다이렉트 구현하기 https://tavi.tistory.com/112 @PathVariable 적용기 이론 공부하며 포스팅했던 @PathVariable에 대한 게시글 인데 프로젝트를 진행하며 읽어보았을 때 내가 쓴 글임에도 어떻게 적용해야될지를 모르겠더라 ㅎ 저 글을 작성할 때도 RESTful 서비스에 대 tavi.tistory.com @PathVariable을 적용 했다면 수정 구동, 삭제 등을 구현하 리다이렉트를 마주하게 될 것이다. 이거도 진짜 별거 읎음.. 컨트롤러의 수정 구동 메소드는 이렇게 작성하였다. Ajax를 활용하여 해당 게시글의 카테고리와 글 번호 값을 가져올 것이다. 유효성 검사를 거치는 스크립트문의 일부인데 모든 유효성 검사를 통과하면 카테고리와 글 번호를 변수에 담아 Ajax를 통해 Controll.. 2023. 4. 1.
@PathVariable 적용기 이론 공부하며 포스팅했던 @PathVariable에 대한 게시글 인데 프로젝트를 진행하며 읽어보았을 때 내가 쓴 글임에도 어떻게 적용해야될지를 모르겠더라 ㅎ 저 글을 작성할 때도 RESTful 서비스에 대해 잘 모르고 별 생각이 없었던 때라(...) 온전히 이해하진 못했던 것 같다. 구글링을 해도 내가 보고 싶은건 책에 나오는 예시가 아닌 '적용기'였는데 그당시 찾지 못했었고.. 에러들을 해쳐나가며 적용하고나니 뭐가 그렇게 어려웠나 싶다. 나처럼 프로젝트에 적용하고 싶은데 갈피를 못잡겠는 사람을 위해 기록한다! 내가 프로젝트에 적용한 구조는 메인 화면에서 카테고리를 선택하면 해당 카테고리에 들어가는 방식이다. jsp에선 직접 url을 입력해줬다. RequestMapping URI에 받고자 하는 파라미터를.. 2023. 4. 1.
AJAX를 이용한 댓글 처리 1. 테이블 설계 rno : 댓글 번호 - (10,0): 숫자 10자리까지, 소숫점 자리 0자리까지 들어갈 수 있다 bno: 게시글 번호 reply : 댓글(내용) tbl_reply 테이블의 bno는 tbl_board의 bno를 참조함 (댓글을 달려면 특정 게시물의 번호가 필요!) 2. 자바빈 클래스 생성 HTML 삽입 미리보기할 수 없는 소스 3. 인터페이스 생성과 XML 처리 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 tbl_reply가 tbl_board 테이블의 bno 값과 정확히 일치해야 하므로 bno 몇 개를 확인해두는 작업 4. 테스트 클래스 작성 1) ReplyMapper 객체를 정상적으로 사용 가능한지 확인하는 테스트 HTML 삽입 미리보기할 수 없는 소.. 2022. 11. 7.
스프링 5 @Controller 구현과 테스트 스프링 MVC의 Controller는 하나의 클래스 내에서 여러 메소드를 작성하고 @RequestMapping 등을 이용해서 URL을 분기하는 구조로 작성할 수 있기 때문에 하나의 클래스에서 필요한 만큼 메소드의 분기를 이용하는 구조로 작성한다. 업무 URL 메소드 파라미터 폼 URL 이동 전체 목록 /board/list GET 등록 처리 /board/register POST 모든 항목 입력화면 필요 이동 조회 /board/get GET bno = ? 삭제 처리 /board/remove POST bno 입력화면 필요 이동 수정 처리 /board/modify POST 모든 항목 입력화면 필요 이동 폼: 해당 URL을 호출하기 위해 별도의 입력화면이 필요하다는 뜻 🎇. 서비스 클래스 https://tavi... 2022. 11. 1.