1 분 소요

공지사항 등록하기2

 

3.Service처리 및 테스트

공지사항 등록 메서드를 작성한다

  • Noticeservice.java
public interface NoticeService {
	//등록
	public void Noticeregister(NoticeVO vo);

 

  • Noticeserviceimpl.java
@Service
public class NoticeServiceImpl implements NoticeService {

	@Autowired
	private NoticeMapper noticemapper;

//등록하기	
    
    @override
	public void Noticeregister(NoticeVO vo) {

		noticemapper.Noticeregister(vo);
	}

Noticeservice.java 인터페이스를 구현하는 클래스을 생성한 후 상속해준다

@Service/@Autowired 해주기

오버라이딩하여 등록 메서드를 호출하는 코드를 작성한다

 


service 테스트 하기


@Test

//등록테스트
public void Noticeregister(){
	
	NoticeVO vo =new NoticeVO();
	
	 vo.setNno(1);
	 vo.setNtitle("테스트");
	vo.setNcontent("테스트");
	vo.setNwriter_id("test");
	vo.setNfiles("test");


	
	service.Noticeregister(vo);

성공하면 통과!

 

4.Controller 처리

  • NoticeController.java
@Log4j
@Controller
public class NoticeController {

	@Autowired
	private NoticeService noticeservice;

의존성을 주입하는 @Autowired 코드를 추가한다

 


	//등록 페이지 접속
	 @GetMapping("/notice-register")
	public String Noticeregisetrget() {
		
		 System.out.println("등록 접속");
		
		
		return "admin/notice/notice-register";


	}

getmapping을 이용하여 공지사항을 등록하기 위한 url을 /notice-register으로 지정한다

맵핑한 url을 “admin/notice/notice-register”으로 보내 등록 페이지에 접속한다

 

//등록 메소드
 @RequestMapping(value ="/notice-register", method = RequestMethod.POST)
	  public String NoticeregisterPost(NoticeVO vo, RedirectAttributes rttr) {
		  
		  System.out.println("NoticeVo:"+ vo);
		  
		  noticeservice.Noticeregister(vo);
		  
		  
		  rttr.addFlashAttribute("result", "register success");
		  
		  return"redirect:/notice-list"; }

접속 한 후 위의 등록 메소드를 사용하여 공지사항 등록을 한다

redirectAttributes가 적용되지 않아 Httpservletrequest를 이용하여 session으로 데이터 값을 넘겨 주었다

 

@RequestMapping(value ="/notice-register", method = RequestMethod.POST)
	  public String NoticeregisterPost(NoticeVO vo, HttpServletRequest reqeust) {
		  
		  System.out.println("NoticeVo:"+ vo);
		  
		  noticeservice.Noticeregister(vo);
		  
		  
		  HttpSession session = reqeust.getSession();
		  session.invalidate();
		  
		  return"redirect:/notice-list"; }

syso를 이용해서 데이터값이 잘 넘어가는지 콘솔창에서 확인해준다

NoticeVo:NoticeVO(nno=0, ntitle=dd, nwriter_id=dd, ncontent=ss, nregdate=null, nupdateDate=null, nhit=0, nfiles=ss, PageNum=0, amount=0, searchType=null, keyWord=null)

댓글남기기