봄 springmvc 코멘트 요약

봄 springmvc 일반적인 참고 :
참고 : 참여 코드 컴파일을 @로 시작. 그것은 응용 프로그램에보고하는 것입니다,이 도구와 함께 사용과 함께 사용해야합니다 의미 별도의 노트의 사용은, 소위 도구는 실제의 애플리케이션 노트 읽을 수있다
: 봄 부품
성명 콩 :
@Component : 봄의 공통 표준 콩을 클래스입니다.
@Controller : 컨트롤러 구성 요소 클래스 레이블입니다.
@RequestMapping 클래스에 메모를 일치시킬 수 있습니다. 축소 요청하실 수 있습니다
@Service을 : 비즈니스 로직 컴포넌트 클래스 레이블을.
@Repository하십시오 DAO 구성 요소 클래스 레이블입니다.
기본의 Bean 인스턴스 이름은 첫 글자를 소문자 Bean 클래스, 다른 부분 변경되지 않습니다. 클래스 이름은 대문자 또는 둘 개 이상의 단어, 콩 기본 이름과 클래스 이름이 동일하게 유지로 시작하면, 우리는 name 속성을 강제로 주석을 추가 콩 예를 @Service ( "사용자")의 이름을 지정 할 수 있습니다 . 봄의 향후 릴리스에서, 컨트롤러 @ 서비스 @, @ 저장소가 더 의미를 수행한다. 일반 @Component의 저장소 대신 @, @ 컨트롤러, @ 서비스의 사용을 고려해보십시오.
상기 구성에서, 일반적으로 주석이 때 패킷의 경로 스캐너 스프링 지정하도록 구성 될 필요가있다
: <베이스 - 성분 - 스캔 문맥 패키지 = "com.java.app.service를"/>
자동 com.java.app을 .service 패키지에서 스캔 코멘트.
사출 콩 :
세터 방법을 제거 @Autowired (봄 주석), 자동 분사 조립체. 자동으로 찾아 코드 매치에서 컨텍스트는 빈, 자동으로 적절한 위치에 주입 (디폴트는 일치 이름 조회 복수의 동일한 유형을 사용하는).
true로 @Autowired (= 필요 false)를 필수 속성의 기본값은 오류가 null로. 설정 찾을 수 없습니다, false로 설정, 콩보다 알
@Autowired
예선 @을 ( "userJdbcImps") 때 동일한 유형의 더 많은 시간, 이름 조회를 지정합니다. 또한 필드의 이름을 수정하거나 지정된 @Qualifier 주사를 사용 할 수 있습니다.
@Resource (J2EE 주석) : 이름은, 이름은 이름 속성에 의해 지정 될 수있는 속성 이름을 지정하지 않은 경우 주석 필드에 기록 할 때, 어셈블리 기본, 기본 필드 이름 조회는 이름 취한 쓰기 주석 경우 기본 이름은 GET 속성 setter 메소드에 조립된다. 콩의 종류에 따라 조립 때이 일치하는 이름을 찾을 수 없습니다. 그러나 지정된 경우 이름 속성 경우, 이름으로 만 조립 않습니다.
@Inject (J2EE 주석)
자바 클래스 주석 구성 :
양식 Spring XML 설정 (상류층)에 해당하는 @Configuration 현재 클래스가 선언 된 클래스의 구성
방법에 @Bean 어노테이션의 방법은 콩, 대안의 문장의 현재 값을 반환 이러한 방법은 XML (방법)
@Import 주석은 적재 구조가 다른 클래스에서 @Bean 정의 할 수있다.
@Bean 속성은 지원
@Scope 문이 IOC 컨테이너를 스코프, 기본은 싱글입니다. 속성 값 :
싱글 (싱글)와 하나 개의 전역 인스턴스
프로토 타입 (여러 건)의 새로운 인스턴스가있을 것입니다 모든 인수 콩
마지막 세 전용 웹 응용 프로그램에 사용 할 수 있으며, 일반적으로 함께 XmlWebApplicationContext이의 사용
요청 : 스프링 컨테이너는 새로운 RequestPrecessor 객체를 생성하기 위해 각 HTTP 요청에 대한 것입니다 요청의 완료 후, 개체의 수명은 수명주기의 자바 웹 요청으로, 가까이 온다.
세션 : Spring 컨테이너가 살아남을 것입니다 더 이상 요청 범위 콩보다 자신의 새 UserPreferences 예에 대한 별도의 세션을 생성하고, 다른 측면 차이가 없습니다, 경우 세션 수명주기에서 자바 웹은.
글로벌 세션 : 포틀릿 웹 기반 응용 프로그램은 응용 프로그램은이 포틀릿의 세션 전역 범위에 매핑되는, 의미가 있습니다. 일반적으로 서블릿 기반 웹에서 응용 프로그램의 조작 범위의이 유형을 사용하는 경우, 그 용기는 범위의 정기회의 유형으로 처리됩니다.
JSR-250 @PostConstruct 생성자를 실행하는 단계를 수행 한 후 상기 initMethod의 빈 XML 구성 파일에 해당
빈 XML 구성 파일 destroyMethod 동등한 파괴 콩을 수행하기 전에 JSR-250에 의해 제공 @PreDestory

AOP 관련 사항 :
@ 사용자 정의 알림 (통보) 주위에 전, @ 후에 @을 사용하여 측면 (클래스)로 선언 @Aspect는 매개 변수로 직접 차단 규칙 (포인트 컷)이 될 수 있습니다.
@After 여전히 포인트 컷 지정해야하는 방법 (방법)을 수행 한 후에 수행
@Before 여전히 포인트 컷 지정해야하는 방법 (방법)을 수행하기 전에 수행
@Around는 방법 (방법)을 수행하기 전에 수행을 후에도 포인트 컷은 필요
AspectJ의 (상류층)에 대한 자바 클래스 개방 구성 봄 프록시 지원 사용 @Pointcut 음향 Mingqie @EnableAspectJAutoProxy 주석 포인트
@Value 주석
@Value 사출 속성 값 (속성) @Value ( "$ {}" ) 및 두 가지 @Value ( "# {}")
@Value는 ( "#을 {}")은 일반적으로 식 SPEL 콩 특성을 나타내는 구, 또는 빈의 메소드를 호출하는 데 사용된다. 물론 상수가 표현할 수있다.
예를 들어 :
@Value ( "# {} 1.")
개인 INT 번호; // 얻을 수 1.
@Value ( "# { '스프링 식 언어'}") 문자열 상수 받기 //
개인 문자열을 STR,
@Value ( "dataSource.url 번호는 {}") 빈 속성을 가져옵니다 //
개인 문자열 jdbcUrl을;

@Value는 ( "$ {}") 파일 속성의 정의를 해당 속성 값을 얻을 수 있습니다.
예를 들어 특성 파일의 값을 가져옵니다.
특성 파일은 사용자 = Godv가
XML의를 :

<context:property-placeholder location="classpath:exam.properties"/>

코드 :
@Value (값 = "$ {} 사용자")
개인 문자열 이름;
값을 얻을 이름 Godv 수 있습니다.
관련 메모에서 테스트 :
@RunWith이 RunWith (SpringJUnit4ClassRunner.class) @ 주자입니다, 그래서 봄 테스트는 테스트 환경에서 실행됩니다. 단지 junit4의 적용
트리거를 ExtendWith (SpringExtension.class) @ 시험 방법 및 클래스의 구현의 확장을 선언 스프링 테스트 환경에서 테스트 실행을 할 수 @ExtendWith 노트 만 junit5. 적용
의 ApplicationContext 구성을로드하는 데 사용 @ContextConfiguration, 속성이 클래스를 클래스 로딩 구성 @ContextConfiguration을 지정하는 데 사용되는 것을 특징으로하는 ( "클래스 경로 applicationContext.xml")
클래스 이름 -context.xml 정보 : 현재 클래스의 경로 내에 기본 경로 이름을 판독하도록 구성되지 않는다.

@SpringJUnitConfig (위치 = "클래스 경로 : 응용 프로그램 -context.xml"). 현재 디렉토리에 기록하지 않는 중괄호 찾을 수 있습니다 : 클래스 이름 -context.xml은 junit5 적용
에 해당
@ExtendWith (SpringExtension.class)
@ContextConfiguration (이하 "CLASSPATH : applicationContext.xml")

Junit5的데모
@ExtendWith (SpringExtension.class)
@ContextConfiguration ( "클래스 경로 : 앱의 context.xml")
공용 클래스 응용 프로그램은 {
@Autowired
개인 콩 콩;
@Test
공공 무효 TEST1 () {
에서 System.out.println (콩);
bean.say ();
}
}
其中
@ExtendWith (SpringExtension.class)
@ContextConfiguration ( "클래스 경로 : 앱의 context.xml")
可简写成:
@SpringJUnitConfig (위치 = "클래스 경로 : 앱의 context.xml")
Junit4的데모 :
@RunWith (SpringJUnit4ClassRunner 의 .class)
@ContextConfiguration ( "클래스 경로 : 앱의 context.xml")
공용 클래스 응용 프로그램 {
@Autowired
개인 콩 콩;
@테스트
무효 TEST1 공개 () {
에서 System.out.println (콩)
bean.say (는);
}
}
생략 할 수 없습니다.
참고 : 우리는 단위 테스트를 사용 : 우리의 관심의 동일한 버전을 가져 오기 버전과 일식 설정을 제어 할 수 있습니다.
러너 설정 @RunWith (SpringRunner.class)를 사용 junit4있다. 그리고 JDK5 이상에서 자바 런타임 버전. 이 패키지는 수입 org.junit.Test을 도입, 시험 방법은 공공의 사용, 다른 하나는하지 않습니다.
러너 설정 @ExtendWith (SpringExtension.class)를 사용 junit5있다. 그리고 jdk8 이상에서 자바 런타임 버전. 패키지는 수입 org.junit.jupiter.api.Test을 도입, 민간 시험 방법은 다른 캔을 사용할 수 없습니다.

제 Springmvc :
주석 요청 주소 매핑하는 방법을 @RequestMapping, 클래스 나 메소드에 사용할 수 있습니다. 클래스에 대한 요청에 응답하여 모든 방법은 어드레스 요청 좁아 부모 클래스 경로로 클래스 표현
속성 설명
이하 것이다 (요청 된 물리적 어드레스를 지정하는 어드레스 지정 될 수있다 URI 템플릿 모드 : 값 설명)
방법 : 요청 된 방법의 유형을 지정, GET, POST가, PUT, DELETE 등,
이 소비가 : 지정 과정은 요청 내용 유형 (콘텐츠 유형), 예를 들어, 파일 응용 프로그램 / JSON, 텍스트 / HTML을 제출,
생산 : 반환 된 내용을 지정 입력 요청 요청 헤더합니다 (수락)에만 특정 타입을 포함하는 입력 돌아갈 것이다
PARAMS을 : 요청 특정 파라미터 값을 포함해야 지정되도록 만 처리 방법.
헤더 : 요청이 요청을 처리하기 위해이 방법을 위해서는 특정 지정된 헤더 값을 포함해야합니다 지정합니다.
@ModelAttribute와 @SessionAttributes
@SessionAttributes :
객체의 속성 값의 HttpSession 바인딩에 대한 주석, 쉬운의 공정 변수에 사용할 수 있습니다.
상기 특수 효과 속성 객체 이름 및 타입에 의해 사용되도록 지정 될 수 있고, 두 개의 속성 값, 종류가
@ModelAttribute
주석 두 용도 파라미터에 대한 하나의 방법을 가지고,
상기 방법에 사용될 때 : 일반적으로 @RequestMapping, 모델 바인딩 필요성을 처리하기 전에 사용, 배경에서 요청;
; 매개 변수가 사용될 때 값으로부터 구속하는 이름으로 대응하는 상기 파라미터 이름 주석 빈에 대응하는 값 바인드
가능 속성 오브젝트 A) @SessionAttributes를,
B)에 대한 @ModelAttribute 모델 객체 메소드 지정할 때,
C)는 두 가지 경우를 상술없이, 우리는 새로운 새로운 빈 객체 바인딩 및 빈에 값을 결합하는 방식으로 대응하는 이름으로 요청해야 때때로.
@RequestHeader : 처리 방법 파라미터를 완료는 프로세서 요청 헤더 (헤더) 트랜잭션을 결합하는 방법이다
@CookieValue : 치료 방법에 관한 파라미터 함수 처리부 결합 쿠키 트랜잭션을 완료;

@PathVariable 다음 URL 템플릿 매개 변수에 대한 요청은 파라미터로서 추출 즉 URI 템플릿 변수 처리 방법에 매핑된다.
@RequestParam : DEFAULTVALUE = "0", 필요 : 주로 획득 파라미터 SpringMVC 배경 제어 층에 사용되는 유사한 한 세 개의 공통 매개 변수가 request.getParameter ( "이름")이다 = 거짓 값 = "isApp"; DEFAULTVALUE 부울 설정에 필요한 설정 기본 값, 매개 변수에 무엇을 전달해야한다 나타냅니다, 값 값은 입력 매개 변수 유형의 수용을 나타냅니다.
@ResponseBody : 오브젝트 컨트롤러 메소드 리턴 대한 주석 적절한 HttpMessageConverter 전환 체로는 지정된 포맷 데이터 영역 이후에 상기 객체는 응답에 기록된다. 반환 된 JSON XML 때 일반적으로 사용
@RequestBody 어노테이션 시스템의 기본 구성 HttpMessageConverter 파싱을 이용하여 요청을 요청한 데이터의 바디 부분을 판독하기 위해 사용 후 반환하는 객체에 대응하는 데이터에 바인딩 한 후 HttpMessageConverter 방법 매개 변수의 데이터 제어기에 결합 된 객체를 반환한다.

추천

출처blog.csdn.net/qq_41703795/article/details/93308627