추천 튜토리얼: "java 비디오 튜토리얼"
springmvc에서 일반적으로 사용되는 5가지 주석은 무엇입니까?
springmvc에서 일반적으로 사용되는 5가지 주석은 다음과 같습니다.
1. 구성 요소 주석:
1 @Component 클래스 정의 앞에 @Component 주석을 추가하면 스프링 컨테이너에서 인식되어 a로 변환됩니다. 콩.
2. @Repository는 Dao 구현 클래스에 주석을 추가합니다(특수 @Component).
3. @Service는 비즈니스 논리 계층에 주석을 추가하는 데 사용됩니다.(특수 @Component)
4 @Controller는 제어 계층에 주석을 추가하는 데 사용됩니다. (특수 @Component)
위 4개의 Annotation은 모두 클래스에 Annotation이 되어 있으며, Annotation된 클래스는 Spring에 의해 Bean으로 초기화된 후 균일하게 관리됩니다.
2. 요청 및 매개변수 주석:
1, @RequestMapping: 요청 주소 매핑을 처리하는 데 사용되며 클래스 및 메서드에 적용할 수 있습니다.
●value: 요청 요청의 매핑 주소를 정의합니다.
●method: [GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE]를 포함하여 주소를 요청하는 방법을 정의합니다. get 요청이 수락됩니다. 기본적으로 요청한 방법이 정의된 방법과 다른 경우 요청이 성공하지 않습니다.
●params: 요청 요청에 반드시 포함되어야 하는 매개변수 값을 정의합니다.
●헤더: 요청 요청에 다음과 같이 지정된 특정 요청 헤더가 포함되어야 함을 정의합니다. RequestMapping(value = "/something", headers = "content-type=text/*")은 요청에 "text/ html", "text/plain"은 일치하는 요청입니다.
●consumes: 제출을 요청하는 콘텐츠 유형을 정의합니다.
●Produces: 반환할 콘텐츠 유형을 지정합니다. 요청 헤더의 (Accept) 유형에 지정된 유형이 포함된 경우에만 반환됩니다.
@RequestMapping(value="/requestTest.do",params = {"name=sdf"},headers = {"Accept-Encoding=gzip, deflate, br"},method = RequestMethod.GET) public String getIndex(){ System.out.println("请求成功"); return "index"; }
위 코드는 요청 방법이 GET 요청임을 나타냅니다. 요청 매개변수에는 name=sdf 하나의 매개변수가 포함되어야 하며, 요청 헤더에는 Accept-Encoding=gzip, deflate, br 유형 헤더가 있어야 합니다.
이런 방식으로 주석을 통해 요청을 제한할 수 있습니다.
2.@RequestParam: 들어오는 매개변수의 값을 가져오는 데 사용됩니다.
●value: 매개변수의 이름
●required: 들어오는 매개변수가 필수인지 여부를 정의하며 기본값은 true입니다. @RequestMapping의 params 속성 약간 비슷함)
@RequestMapping("/requestParams1.do") public String requestParams1(@RequestParam(required = false) String name){ System.out.println("name = "+name); return "index"; } @RequestMapping("/requestParams2.do") public String requestParams2(@RequestParam(value = "name",required = false) String names){ System.out.println("name = "+names); return "index"; }
두 가지 매개변수 입력 방법은 동일합니다. 선언된 값의 이름이 표시될 때 매개변수 이름은 표시 선언이 없으면 선언된 값과 동일합니다. 첫 번째 방법은 매개변수 이름과 함수 매개변수 변수가 동일한 이름으로 입력됩니다.
3.@PathViriable: 경로 매개변수 값을 정의하는 데 사용됩니다.
●value: 매개변수의 이름
●required: 들어오는 매개변수가 필수 값인지 정의합니다.
@RequestMapping("/{myname}/pathVariable2.do") public String pathVariable2(@PathVariable(value = "myname") String name){ System.out.println("myname = "+name); return "index"; }
이 경로는 {myname}을 다음과 같이 선언합니다. 경로 매개변수, 그러면 이 경로는 임의의 값을 가지며 @PathVariable은 값을 기반으로 경로의 값을 가져올 수 있습니다.
4.@ResponseBody: 메서드에 따라 전체 반환 결과가 json 또는 xml 형식과 같은 특정 형식으로 반환될 수 있습니다.
@RequestMapping("/{myname}/pathVariable2.do") @ResponseBody public String pathVariable2(@PathVariable(value = "myname") String name){ System.out.println("myname = "+name); return "index"; }
반환되는 것은 페이지가 아니고 "index"라는 문자열이 페이지에 직접 인쇄되는 것입니다. 이는 실제로 다음 코드와 유사합니다.
PrintWriter out = resp.getWriter(); out.print("index"); out.flush();
5, @CookieValue: 요청의 쿠키 값을 가져오는 데 사용됩니다.
@RequestMapping("/requestParams.do") public String requestParams(@CookieValue("JSESSIONID") String cookie){ return "index"; }
6, @ModelAttribute:
매개변수를 모델에 저장하는 데 사용되며 메서드에 주석을 달 수 있습니다. 또는 매개 변수, 주석이 메서드에 있는 경우 프로세서 메서드가 실행되기 전에 메서드가 실행되고 반환된 개체는 세션(전제 조건은 @SessionAttributes 주석) 또는 모델 속성 @에 저장됩니다. 마크 내 ModelAttribute("attributeName") 메소드 사용 시 지정하며, 지정하지 않을 경우 반환 유형의 클래스 이름(첫 글자는 소문자)이 속성 이름으로 사용됩니다.
@ModelAttribute("user") public UserEntity getUser(){ UserEntity userEntityr = new UserEntity(); userEntityr.setUsername("asdf"); return userEntityr; } @RequestMapping("/modelTest.do") public String getUsers(@ModelAttribute("user") UserEntity user){ System.out.println(user.getUsername()); return "/index"; }
위 코드에서는 컨트롤러를 실행하기 전에 실행되는 @ModelAttribute("user") 주석이 사용됩니다. 그런 다음 컨트롤러에서 주석이 달린 @ModelAttribute를 통해 이를 얻습니다. 매개변수에 모델을 적용한 다음 JSP 페이지(
<body> ${user.username} </body>
7, @SessionAttributes
)에서도 사용할 수 있습니다. 기본적으로 Spring MVC는 요청의 모델에 데이터를 저장합니다. 필드. 요청이 종료되면 데이터가 유효하지 않습니다. 여러 페이지에서 사용하고 싶다면. 그런 다음 세션을 사용해야 합니다. @SessionAttributes 주석을 사용하면 모델의 데이터 복사본을 세션 도메인에 저장할 수 있습니다. @ModelAttribute("user")와 함께 사용하면 해당 이름의 모델 값이 세션에 저장됩니다.
@Controller @RequestMapping("/test") @SessionAttributes(value = {"user","test1"}) public class LoginController{ @ModelAttribute("user") public UserEntity getUser(){ UserEntity userEntityr = new UserEntity(); userEntityr.setUsername("asdf"); return userEntityr; } @RequestMapping("/modelTest.do") public String getUsers(@ModelAttribute("user") UserEntity user ,HttpSession session){ System.out.println(user.getUsername()); System.out.println(session.getAttribute("user")); return "/index"; } }
이전 예제의 코드를 결합하고 @SessionAttributes 주석을 추가한 후 첫 번째로 두 번 요청했습니다. time user라는 속성의 값이 세션에 존재하지 않습니다. 두 번째 요청 시 세션에 다른 값이 있는 것으로 나타났습니다. 이는 첫 번째 세션에서 모델 데이터가 저장되지 않았기 때문입니다. 요청이 종료되고 반환되면 저장하기만 하면 두 번째 요청 시 이미 마지막 모델을 얻을 수 있습니다
참고: @ModelAttribute("user") UserEntity 사용자가 주석 콘텐츠를 얻으면 먼저 세션에 해당 속성 값이 있는지 쿼리한 다음, 없으면 모델을 쿼리합니다.
추천 관련 기사: "Java 개발 튜토리얼"
위 내용은 springmvc에서 일반적으로 사용되는 5가지 주석은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
