01. Java
02. git
03. Database
04. Jsp [Server]
05. HTML,CSS
07. JS
06. 미니프로젝트-2W
08. SpringFramework , SrpingBoot (v)
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)
1. Model객체 = (ModelMap)
- Model타입을 메서드의 파라미터로 주입하게 되면 view로 전달하는 데이터를 담아서 보낼 수 있음
- request.setAttribute()와 유사한 역할 ex:
메서드(Model model)
/addAttribute()
2. ModelAndView객체 (페이지와 데이터를 동시 지정)
ex:
addObject("변수명","값")
/setViewName("페이지명")
3. @ModelAttriubte 어노테이션
- 전달받은 파라미터를 Model에 담아서 화면까지 전달하려 할 때 사용되는 어노테이션 ex:
@ModelAttribute("받을값") 사용할 변수
4. RedirectAttribute객체
- 리다이렉트 이동시 파라미터 값을 전달하는 방법 ex:
addFlashAttribute()
- 1회성 휘발성 데이터@Controller @RequestMapping("/response") public class ResponseController { //ex01화면 @RequestMapping("/ex01") public String ex01() { return "response/ex01"; } //ex01_ok화면 // Model객체 - request.setAttribute와 유사 // @RequestMapping("/ex01_ok") // public String ex01_ok(Model model) { // // model.addAttribute("name","홍길동"); // model.addAttribute("serverTime",new Date()); // return "response/ex01_ok"; // } //ModelAndView객체 // @RequestMapping("/ex01_result") // public ModelAndView ex01_ok() { // ModelAndView mv = new ModelAndView(); // mv.addObject("name","홍길동"); // mv.addObject("serverTime",new Date()); // mv.setViewName("response/ex01_ok"); // 뷰에 대한 정보 // return mv; // } //ModelAttribute // 화면에서 id를 받고, id라는 이름으로 데이터를 넘김 // @RequestMapping("ex01_result") // public String ex01_result(@ModelAttribute("nick") String nick) { // // System.out.println(nick); // return "response/ex01_result"; // } // 화면에서 vo에 맵핑되는 값을 받고, myData라는 이름으로 데이터를 넘김 @RequestMapping("/ex01_result") public String ex01_result(@ModelAttribute("myData") MemberVO vo ) { System.out.println(vo.toString()); return "response/ex01_result"; } ///////////////////////////////////////////////////////////////////// // 스프링에서 redirect -> 다시 컨트롤러를 태울떄 사용 //화면처리 @RequestMapping("/redirect_join") public String redirect_join() { return "response/redirect_join"; } @RequestMapping("/joinForm") public String joinForm(MemberVO vo,RedirectAttributes ra) { // 가입에 대한 처리 // 리다이렉트시에는 Model을 사용할 수 없음 // 리다이렉트시 1회성 데이터를 보낼 수 있음 ra.addFlashAttribute("msg","회원가입을 축하합니다."); // 홈 화면으로 return "redirect:/"; //다시 컨트롤러를 태움 } }
1. new연산자를 이용한 service객체생성 및 참조
private ScoreService scoreService = new ScoreServiceImpl();
2. 스프링 설정파일을 이용한 서비스 객체 생성 및 의존 객체 자동 주입
// 2nd - ScoreServiceImpl클래스를 빈으로 등록하고, 자바 문서에서 오토와이어드 넣어도됨 # servlet-context.xml <beans:bean id="scoreService" class="com.simple.score.service.ScoreServiceImpl"/> # 서비스 @Autowired private ScoreService scoreService;
3. 어노테이션을 이용한 서비스 객체 생성 및 의존객체 자동 주입
# 서비스 @Service("scoreService") // @Service어노테이션을 붙이고, 패키지를 읽어서 빈으로 만드는 전략 public class ScoreServiceImpl implements ScoreService{ # 컨트롤러 @Qualifier("scoreService") private ScoreService scoreService;
어노테이션을 이용해 DAO객체 생성 및 의존 객체 자동 주입
# DAOImpl영역 @Repository("scoreDAO") // 컴포넌트스캔에 읽힘 public class ScoreDAOImpl implements ScoreDAO { # Controller영역 @Autowired @Qualifier("scoreDAO") private ScoreDAO scoreDAO;