Deeb
디비의 DB
Deeb
전체 방문자
오늘
어제
  • 분류 전체보기 (243)
    • Frontend (63)
      • HTML & CSS (27)
      • JavaScript (17)
      • jQuery (8)
      • React (6)
    • Backend (98)
      • Java (19)
      • JDBC (2)
      • Servlet & JSP (13)
      • Spring (17)
      • Project (0)
      • 개발 공부 (11)
      • 문제 풀이 (8)
      • Algorithm (1)
      • DataBase (0)
      • Oracle (18)
      • Error (8)
    • Knou (1)
    • Review (14)
    • TIL (33)
    • 삽질기록 (8)
    • deebtionary (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • GIT
  • 정의
  • 정처기
  • 함수
  • 다형성
  • 한빛미디어
  • HTML
  • 리액트
  • css
  • 추천
  • 책
  • 2학기
  • 방송대
  • 배열
  • 클래스
  • DB
  • 삭제
  • For
  • 공부
  • 후기
  • 서평단
  • 방통대
  • Java
  • CLASS
  • alter
  • 에러
  • 기초
  • DBMS
  • 자바
  • js

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Deeb

디비의 DB

Backend/Spring

[Spring] 기본 세팅

2022. 1. 10. 17:46

기본세팅

BoardController 

@Controller
@RequestMapping("/board/") 
@SessionAttributes({"loginMember"}) 
public class BoardController {
	
	@Autowired
	private BoardService service;
	
	
	
	
	
}

@Controller

: 요청과 응답을 제어해 컨트롤러임을 알려준다 + Bean 등록

 

@SessionAttributes({"loginMember"})

1. Model 속성 추가 시 key값 일치하는 값을 Session 영역으로 이동

2. Session에서 key가 일치하는 값을 얻어와 해당 컨트롤러 내에서 사용 가능하게 한다.

-> @ModelAttribute("loginMember")를 작성하여 얻어다 쓸 수 있다.

 

@ModelAttribute("loginMember")

sessionAttribute를 이용해 등록된 Session데이터를 얻어오는 역할 

요청시 전달 받은 파라미터를 객체 형태로 매핑하는 역할을 하는 어노테이션

 

@Autowired

: Bean으로 등록된 객체 중 같은 타입 또는 상속 관계 객체를 자동으로 DI

 

BoardService

public interface BoardService {

}

BoardServiceImpl

@Service // Service임을 알려준다 +Bean등록
public class BoardServiceImpl implements BoardService{
	
	@Autowired
	private BoardDAO dao;
    
}

@Service : Service임을 알려준다 +Bean등록

 

추상 메서드를 구현해야하는 이유

- 상속받은 인터페이스는 오버라이딩을 강제로 하기 때문에 에러가 발생한다

-> 해결법 : 오버라이딩 된 메서드 생성

 * 오버라이딩 : 상속받은 메서드를 자식 클래스에서 재정의

 

DAO

@Repository 
public class BoardDAO {
	
	// 마이바티스에 SQL을 수행하는 객체
	@Autowired
	private SqlSessionTemplate sqlSession;

}

@Repository

: 저장소(파일, DB)와 접근하는 객체(DAO)임을 알려준다 + Bean 등록

 

mapper,xml 생성

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="boardMapper">
	

</mapper>

 

mybatis-config.xml에 파일 지정

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
	<!-- SqlSessionTemplate 생성 시 적용될 설정 작성 부분 -->
	<settings>
		<!-- insert 또는 update에 사용되는 값 중 null이 있을 경우에 대한 설정 해당 설정이 없을 경우 -> SQL 구문에 
			null 포함되어 있다는 오류 발생. 해상 설정이 있을 경우 -> 오류를 발생 시키지 않고 NULL 값을 컬럼에 대입 단, NOT 
			NULL 제약조건이 없는 컬럼에만 가능함. ** value 설정 시 NULL 은 반드시 대문자로 작성 (소문자 null은 오류가 발생함) -->
		<setting name="jdbcTypeForNull" value="NULL" />
	</settings>

	<!-- VO 클래스 별칭 지정 -->
	<!-- 매퍼에서 사용되는 VO를 간단히 부르기 위한 별칭 지정 -->
	<typeAliases>
		<typeAlias type="edu.kh.fin.member.model.vo.Member" alias="Member"/>
	</typeAliases>
	
	<!-- SQL이 작성된 파일 지정 -->
	<mappers>
		<mapper resource="/mappers/member-mapper.xml"/>
		<mapper resource="/mappers/board-mapper.xml"/>
		
	</mappers>
	
	
</configuration>

-> <settings> <typeAliases> <mappers> 이 순서를 지키지 않으면 에러난다

 

 

 

 

 

 

 

jsp 할 때 

- 댓글 영역 include 예정

주석으로 미리 주소영역을 만들어 두면 좋다

반응형
저작자표시 비영리 변경금지 (새창열림)

'Backend > Spring' 카테고리의 다른 글

[Spring] 게시글 글 수정  (0) 2022.01.19
[Spring] 게시글 (상세조회)  (0) 2022.01.10
[Spring] 게시판 조회(목록 조회)  (0) 2022.01.08
[Spring] 회원가입(아이디 유효성 검사)  (0) 2022.01.08
[Spring] 로그인, 아이디 저장, 로그아웃  (0) 2022.01.06
    'Backend/Spring' 카테고리의 다른 글
    • [Spring] 게시글 글 수정
    • [Spring] 게시글 (상세조회)
    • [Spring] 게시판 조회(목록 조회)
    • [Spring] 회원가입(아이디 유효성 검사)
    Deeb
    Deeb

    티스토리툴바