일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 국회의원 & 높으신 분들 어록
- https://tecoble.techcourse.co.kr/post/2021-08-07-logback-tutorial/
- https://minkwon4.tistory.com/161
Archives
- Today
- Total
OPEN between Secret
Spring 어노테이션 정리 본문
반응형
Spring 어노테이션 정리
Spring MVC
@MVC
- 어노테이션을 중심으로 한 새로운 MVC의 확장 기능은 @MVC라는 별칭으로도 불린다 (= 어노테이션 기반 MVC)
@Controller
- 해당 클래스가 Controller Bean 임을 지정한다.
@RequestMapping
- 처리할 요청 URL을 지정한다.
- 실제 요청 URL 은 class의 @RequestMapping값과 메서드의 @RequestMapping값의 조합으로 지정된다.
@RequestMapping(value="/article/form",method="RequestMethod.GET") @RequestMapping(value="/article/write",method="RequestMethod.POST")
@PathVariable
- URL에 {}로 들어가는 패스 변수를 받는다
- URL의 특정위치에 파라미터 값을 넣게 하면, 이해하기 쉬운 URL을 만들 수 있다. (RESTFull)
@RequestMapping(value = "/article/view/{articleId}", method = RequestMethod.DELETE) @ResponseBody public ModelAndView view(@PathVariable(value = "articleId") int articleId) { articleBO.getArticle(articleId); .. }
@RequestParam
- 단일 HTTP 요청 파라미터의 값을 메소드 파라미터에 넣어주는 어노테이션이다.
- 해당 파라미터가 반드시 있어야 한다. 없다면 HTTP 400 - Bad Request를 받게 된다
- 파라미터를 필수가 아니라 선택적으로 제공하게 하려면, required 엘리먼트를 false 로 설정한다
public String view(@RequestParam("id") int id) { .. } public String view(@RequsetParam(value="id", required=false, defaultValue="-1") { .. }
- @RequestParam 에 파라미터 이름을 지정하지 않고 Map<String,String>타입으로 선언하면 모든 요청 파라미터를 맵으로 받을 수 있다
public String add(@RequestParam<String, String> params) { .. }
@ModelAttribute
- 요청 파라미터를 Object(모델객체) 형태로 Controller에서 전달 받을 수 있다.
@RequestBody
- http의 Body를 그대로 전달한다.
- xml, json 기반의 메시지를 사용하는 경우 유용하다.
public void message(@RequstBody String body) { ... }
@Valid
- 요청된 파라미터를 모델 클래스에 셋팅하면서 해당 값에 대한 유효성 체크를 함께 할 수 있다.
- JSR-303의 @javax.validation Valid 애노테이션 사용
@CookieValue
- @CookieValue를 이용하여 쿠키값을 얻어 올 수 있다.
- @CookieValue을 메소드 파라미터에 추가하면 쿠키값을 바인드하여 넘겨준다.
@RequestMapping(value = "/write", method = RequestMethod.POST) public ModelAndView write(@Valid Article article, BindingResult result, @CookieValue(value = "LOGIN_KEY", required = false) int empno) { ... }
Spring
@Scope
- Spring 에서 관리하는 Bean은 싱글턴 상태가 디폴트이다.
- 디폴트 및 singleton : 싱글턴으로 객체를 한개만 생성
- prototype : 사용자 요청별로 별개의 객체를 생성해서 할당
@Autowired
- Bean의 자동삽입을 위해 사용하는 애노테이션이다.
@Service
- 해당 클래스가 Service Bean 임을 지정한다.
@Repository
- 해당 클래스가 Repository Bean 임을 지정한다.
출처 : http://wiki.gurubee.net/pages/viewpage.action?pageId=12910635
반응형
'java' 카테고리의 다른 글
문서타입설정(DTD) (0) | 2015.12.17 |
---|---|
Apache로 쓰던걸 WebLogic으로 바꾸니 error가 많이남. (0) | 2015.02.10 |
SVN: '0x00000025: Send Notifications' operation finished with error: java/nio/file/Paths (0) | 2015.02.06 |
계수기 (0) | 2012.05.17 |
뻘짓 (0) | 2012.05.16 |