스프링을 공부하면서 간단한 웹 프로젝트를 개발해보았다 ! 참고로 개발도구는 이클립스를 사용했다.
🔍프로젝트 생성하기
먼저 이클립스에서 스프링 프로젝트를 생성한다. 그리고 next버튼을 누른 뒤 필요한 라이브러리를 선택해서 가져올 수 있다.
💡build.gradel
🔍DB연결하기
💡application.properties 작성한다.
MyBatis - 스프링 프레임워크는 쿼리문을 별도로 xml문서로 관리한다. location은 그 위치를 알려주는 것이다.
장점은 쿼리문이 자바 소스 안에 없고 밖에 있기 때문에 관리하기가 용이하다.
💡쿼리XML 파일 생성한다.
id는 Mapper의 메서드명과 동일해야한다.
xml의 쿼리문은 Mapper의 이름과 매치시켜야한다.
resultType은 결과를 담는 것.
🔍소스코드
파일 목록
controller.MemberController
dto.MemberDTO
mapper.MemberMapper
service.MemberService
service.MemberServiceImpl
🔵controller.MemberController
@Controller : 컨트롤러라고 선언해주기
@Autowired : 자동으로 생성자 만든다.
사용자가 url로 요청하면 컨트롤러가 동작하고, 그에 맞는 메서드가 실행된다.
DB에 가야하는 경우가 있기 때문에, 멤버변수에 MemberService를 선언했다.
이 객체 생성을 스프링이 해준다.(@Autowired)
🔵dto.MemberDTO
🔵mapper.MemberMapper
@Mapper : Mybatis에 있는 Mapper와 연동되는 파일이란 것을 스프링 프레임워크에 알려주는 역할.
"parmId"는 xml의 쿼리문과 매치시켜야한다.
🔵service.MemberService - 인터페이스
🔵service.MemberServiceImpl - MemberService 구현체
@Service : 서비스라고 선언해주기
DAO(Mapper)에 가야하니까 멤버변수에 MemberMapper선언했다.(@Autowired)
🟣view
메인 페이지 : src/main/resources/templates/main.html
회원목록 페이지 : src/main/resources/templates/member/list.html
타임리프 템플릿을 활용해보았다.
each는 반복문
dto는 변수명
${list}는 컨트롤러에 있는 것과 이름 매치시킨 것 - mv.addObject("list", list);
이 페이지에서는 회원목록을 볼 수 있다.
그리고 라디오 버튼을 체크하고 삭제 버튼을 클릭하면 체크한 회원이 삭제된다.
또한, 한 회원을 클릭하면 회원 상세 정보 페이지로 넘어가서, 그 회원의 상세정보도 확인할 수 있다.
회원 상세 정보 페이지 : src/main/resources/templates/member/detail.html
회원가입 페이지 : src/main/resources/templates/member/registerForm.html
이 페이지에서는 정보를 입력한 후 가입버튼을 누르면 회원가입이 가능하다.
'Spring' 카테고리의 다른 글
[Spring]Logging (1) | 2022.10.07 |
---|---|
[Spring]AJAX응답 (0) | 2022.10.04 |
[Spring]Exception처리 (0) | 2022.10.04 |
[Spring]REST API란 무엇일까? (2) | 2022.07.29 |
[Spring] 스프링 프레임워크 GET, POST (0) | 2022.07.21 |