본문 바로가기
프로그램/PWA

[PWA] MVC 패턴 클래스 파일 만들기

by cbwstar 2024. 2. 3.
728x90
반응형

3.2.3 MVC 패턴 클래스 파일 만들기

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

Mvc 패턴에 맞게 Controller를 만들자.

만드는 순서는 Controller를 만들고, 서비스 인터페이스를 만들고, 서비스 인터페이스를 상속받은 구현체를 만들고, 데이터베이스와 통신을 할수 있게 JpaRepository 상속받은 인터페이스를 만들어서 데이터베이스에 push알림 구독정보를 저장하여 관리 할수 있게 만들것이다.

이번에는 패키지와 클래스 파일을 동시에 같이 만들어 보자. 위에서는 패키지 따로 파일 따로 만들어 보았는데 같이 만들어도 된다.

pwapush 패키지명에 마우스 오른쪽 버튼을 클릭하여 New->Class를 선택

 

Package 입력부분에 pwapush만 입력이 되어 있을텐데 여기 뒤에다가 pwapush.controller을 입력하자.

Name: 부분에 클래스명을 입력하면 된다. PwaPushController 이라고 입력하고 Finish 버튼을 클릭한다.

이렇게 하면 패키지 폴더와 함께 PwaPushController.java 파일이 생성이 되었다.

 

build.gradle 파일에 와서 dependencies에 정의한 라이브러리를 다운받자 설정을 하면 보통 자동으로 메이븐 저장소에서 라이브러리를 다운받아 오는데 자동으로 안될때도 많다.

확실하게 수동으로 메이븐 저장소에 라이브러리를 가져온다.

build.gradle 파일위에서 마우스 오른쪽 버튼을 클릭하여  Gradle->Refresh Gradle Project를 클릭하면 메이븐 저장소에서 라이브러리를 다운받아서 로컬pc에 설치한다.

소스파일에서 import 시 라이브러리가 없다고 에러가 나는 경우가 있을때 build.gradle에는 의존성을 추가 했는데 없다고 에러 뜨는 경우가 종종 생긴다. 이럴때에는 Gradle에서 수동으로 의존성 라이브러리를 다시 가져오기 하면 에러가 없어진다.

 

 

의존성 라이브러리도 가져 왔으니 Controller 소스를 작성하여 보자

소스를 작성하기 전에 MVC 패턴에 맞게 관련 클래스를 미리 만들자.

  • 서비스 인터페이스 생성
  • pwapush.controller 위에서 마우스 오른쪽 버튼을 클릭하여 New->Interface를 클릭하여 service interface 파일을 생성한다.
  • 파일이름은 PwaPushService.java로 한다.
반응형

 

Package : pwapush.service 로 하고

Name : PwaPushService 로 하고 Finish 버튼을 클릭한다.

service interface를 상속받은 구현체도 만들자

방금 생성된 pwapush.service 패키지 위에 마우스 오른쪽 버튼을 클릭하여

New->Class를 선택하여 클래스 파일을 하나 만든다.

Package : pwapush.service.impl

Name : PwaPushServiceImpl 을 입력하고 Finish 버튼을 클릭한다.

 

pwapush.service.impl 패키지 위에 마우스 오른쪽 버튼을 클릭하여 push정보를 담은 class 파일을 하나 생성한다.

파일이름은 PushSubscription.java 로 한다.

 

Package : pwapush.service.impl

Name : PushSubscription 으로 하고  Finish버튼을 클릭한다.

 

이제 Jpa 처리 하는 repository 패키지를 만들고 interface 파일을 하나 만들자.

pwapush  패키지 폴더에서 마우스 오른쪽 버튼을 클릭하여 New->Interface 를 클릭한다.

Package : pwapush.repository

Name : UserSuvscriInfoRepository

입력하고 Finish버튼을 클릭한다.

필요한 파일들은 다 생성을 하였다.

코딩을 하여 보자.

 

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading