Yuni Devlog
article thumbnail

 

스프링을 공부하면서 간단한 웹 프로젝트를 개발해보았다 ! 참고로 개발도구는 이클립스를 사용했다.

🔍프로젝트 생성하기

먼저 이클립스에서 스프링 프로젝트를 생성한다. 그리고 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);

이 페이지에서는 회원목록을 볼 수 있다.

그리고 라디오 버튼을 체크하고 삭제 버튼을 클릭하면 체크한 회원이 삭제된다.

또한, 한 회원을 클릭하면 회원 상세 정보 페이지로 넘어가서, 그 회원의 상세정보도 확인할 수 있다.

선택한 6번 slime회원이 삭제된 것을 확인할 수 있다.

회원 상세 정보 페이지 : src/main/resources/templates/member/detail.html

선택한 pinkbin회원의 상세정보를 볼 수 있다.

회원가입 페이지 : src/main/resources/templates/member/registerForm.html

이 페이지에서는 정보를 입력한 후 가입버튼을 누르면 회원가입이 가능하다.

가입하면 회원목록 페이지로 넘어가서, yeti회원이 가입된 것을 확인할 수 있다.

 

'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
profile

Yuni Devlog

@siyuning

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그