06.공지사항 등록하기2
공지사항 등록하기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)
댓글남기기