hyeonga_code

Spring_AOP 심화 실습_메이븐 프로젝트_2. 기본 구조 작성하기 본문

Spring

Spring_AOP 심화 실습_메이븐 프로젝트_2. 기본 구조 작성하기

hyeonga 2024. 1. 8. 08:59
반응형

 



    - 게시글을 나타내는 VO를 작성합니다.
- src/main/java 폴더에 sts.spring.board.vo 패키지를 생성합니다.
- sts.spring.board.vo > ArticleVO.java 클래스를 생성합니다.
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package sts.spring.board.vo;
 
public class ArticleVO {
    // 속성
    private int id;
    
    // 기본 생성자
    public ArticleVO() {}
    
    // getter/setter 메소드
    public int getId() {
        return id;
    }
    
    public void setId() {
        this.id = id;
    }
}
 
cs



    - 데이터베이스를 처리할 DAO 인터페이스를 작성합니다.
- src/main/java 폴더에 sts.spring.board.dao 패키지를 생성합니다.
- sts.spring.board.vo > ArticleDAO.java 인터페이스를 생성합니다.
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
package sts.spring.board.dao;
 
import sts.spring.board.vo.ArticleVO;
 
public interface ArticleDAO {
    
    // 게시글 등록 메소드
    void insert(ArticleVO article);
    
    // 게시글의 조회수를 업데이트하는 메소드
    void updateReadCount(int id);
}
 
cs



    - 회원을 나타내는 클래스를 작성합니다.
- src/main/java 폴더에 sts.spring.member.vo 패키지를 생성합니다.
- sts.spring.board.vo > MemberVO.java 클래스를 생성합니다.
=====

1
2
3
4
5
6
package sts.spring.member.vo;
 
public class MemberVO {
 
}
 
cs



    - 데이터베이스 처리를 구현할 클래스를 작성합니다.
- sts.spring.board.dao >  OracleArticeDAO.java 클래스를 생성합니다.
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package sts.spring.board.dao;
 
import sts.spring.board.vo.ArticleVO;
 
public class OracleArticleDAO implements ArticleDAO {
 
    @Override
    public void insert(ArticleVO article) {
        System.out.println("+ MyOracleArticleDAO.insert()");
    }
 
    @Override
    public void updateReadCount(int id) {
        System.out.println("+ MyOracleArticleDAO.updateReadCount()");
    }
 
}
 
cs



    - 게시글 서비스를 담당할 서비스 클래스, 인터페이스를 작성합니다.
- src/main/java 폴더에 sts.spring.board.service 패키지 생성
- sts.spring.board.service > WriteArticleService.java 인터페이스 생성
=====

1
2
3
4
5
6
7
8
9
package sts.spring.board.service;
 
import sts.spring.board.vo.ArticleVO;
 
public interface WriteArticleService {
 
    void write(ArticleVO article);
}
 
cs



- sts.spring.board.service > WriteArticleServiceImpl.java 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package sts.spring.board.service;
 
import sts.spring.board.dao.ArticleDAO;
import sts.spring.board.vo.ArticleVO;
 
public class WriteArticleServiceImpl implements WriteArticleService {
 
    // 의존성을 주입합니다.
    private ArticleDAO articleDAO;
    
    public WriteArticleServiceImpl() {}
    
    public WriteArticleServiceImpl(ArticleDAO articleDAO) {
        this.articleDAO = articleDAO;
    }
    
    @Override
    public void write(ArticleVO article) {
        System.out.println("+ WriteArticleServiceImpl.write()");
        articleDAO.insert(article);
    }
}
 
cs



    - 멤버 서비스를 담당할 서비스 클래스와 인터페이스를 작성합니다.
    1) 수정 정보를 나타낼 클래스를 작성합니다.
- sts.spring.member.vo > UpdateInfo 클래스를 작성합니다.
=====

1
2
3
4
5
6
package sts.spring.member.vo;
 
public class UpdateInfo {
    
}
 
cs




    2) 회원 관리 서비스를 제공하는 인터페이스를 작성합니다.
- sts.spring.member.vo > MemberService.java 인터페이스를 생성합니다.
=====

1
2
3
4
5
6
7
8
9
package sts.spring.member.vo;
 
public interface MemberService {
    
    void regist(MemberVO member);
    
    boolean update(String memberId, UpdateInfo info);
}
 
cs


    3) MemberService를 구현한 클래스를 작성합니다.
- sts.spring.member.service 패키지를 생성합니다.
- sts.spring.member.service > MemberServiceImpl.java 클래스 생성
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package sts.spring.member.service;
 
import sts.spring.member.vo.MemberService;
import sts.spring.member.vo.MemberVO;
import sts.spring.member.vo.UpdateInfo;
 
public class MemberServiceImpl implements MemberService {
 
    // 회원 등록 메소드
    @Override
    public void regist(MemberVO member) {
        System.out.println("+ MemberServiceImpl.regist()");
    }
 
    // 회원 정보 수정 메소드 : 성공 여부를 boolean으로 반환합니다.
    @Override
    public boolean update(String memberId, UpdateInfo info) {
        System.out.println("+ MemberServiceImpl.update()");
        return true;
    }
}
 
cs





>>> 기본적인 구조 설계를 완료합니다.

반응형