#스프링 @어노테이션(Annotation) 종류 및 사용법
@Controller
-Spring MVC의 Controller 클래스 선언을 단순화합니다.
스프링 컨트롤러, 서블릿을 상속할 필요가 없으며, @Controller로 등록된 클래스 파일에 대한 bean을 자동으로 생성해줍니다.
(component-scan 이용)
@Autowired
@Value("${ }")
@ResponseBody
@RequestParam
@RequestMapping(".do")
-URL을 컨트롤러의 메서드와 매핑할떄 사용합니다.
@Service("명시")
-비즈니스로직이 들어가는 Service 빈 등록을 합니다.
@Repository("명시")
-일반적으로 DAO에 사용되며 DB Exception을 DataAcessException으로 변환합니다.
@Resource(name="") >> name속성을 통해 자동 주입을 실행합니다.
-빈 DI등록할때 사용합니다.
@SuppressWarnings("rawtypes")
-제네릭을 사용하는 클래스 매개변수가 불특정일때의 경고 억제 역할을 합니다.
#EgovMap(클래스, 타입)
-Camel Case표기법 변환 처리를 포함하는 Map 확장 클래스입니다.
#HttpServletRequest request
-Servlet API
#return "jsonView";
-MappingJackson2JsonView를 사용해서 ModelAndView를 json 형식으로 반환 해줍니다.
1) MappingJacksonJsonView 형식의 jsonView를 Spring Bean으로 등록합니다.
- 일반적인 Spring 이라면 DispatcherServlet에 설정을 해줍니다.
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="application/json;charset=UTF-8"> </property>
</bean>
- Spring boot를 사용하고 따로 DispatcherServlet xml을 사용해서 설정하지 않는다면, @Configuration 을 붙인 WebConfig 파일에서 Bean으로 등록해줍니다.
@Bean
MappingJackson2JsonView jsonView(){
return new MappingJackson2JsonView();
}
2) Controller에서 return할 ModelAndView를 생성 할 때 View를 "jsonView"로 설정합니다.
ModelAndView mv = new ModelAndView("jsonView");
userVO.setOrderBy(orderDir);
userVO.setOrderId(orderColNm);
List<UserVO> userList = userMgmtSvc.selectUserList(userVO);
int totalCnt = userMgmtSvc.selectUserListCount(userVO);
mv.addObject("recordsTotal", totalCnt);
mv.addObject("recordsFiltered", totalCnt);
mv.addObject("data", userList);
return mv;
3) 클라이언트에서 Response가 json 형식으로 잘 오는것을 확인합니다.
'IT > Spring' 카테고리의 다른 글
[Spring] - 스프링 부트(Spring boot)에서 JSP파일 수정 시 자동 적용(반영) 하는 방법 (0) | 2021.11.17 |
---|---|
[Spring] - STS4에서 HTML, CSS, JSP 파일 없을 때 해결 방법 (0) | 2021.11.07 |
[Spring] - 스프링 Model, ModelMap, ModelAndView 차이점 (0) | 2020.09.15 |
[Spring] - 스프링 Spring JDBC (DBCP 커넥션 풀) 설정 하는 방법 (0) | 2020.08.19 |
[Spring] - 스프링 Bean 등록(Annotation, XML) 하는 방법 (0) | 2020.08.13 |
댓글