spring 처음부터 (2) - bean 짜 기
4962 단어 spring
spring 에 서 는 주로 세 가지 짜 임 방식 을 사용 합 니 다. - xml 파일 설정 - xml 설정 에 대응 하 는 자바 류 의 설정 쓰기 - xml 설정 에서 자동 으로 스 캔, 주해 짜 임
이 세 가지 설정 은 보기에 약간 중복 되 어 있어 서 더 많은 선택 을 해 야 한다.그러나 좋 은 점 은 당신 이 더 많은 선택 을 하고 우 리 는 자신의 프로젝트 가 더 적합 하 다 면 혼합 해서 사용 할 수 있다 는 것 이다.권위 적 인 조언 은 가능 한 한 스 캔 주석 주입 을 우선 선택 한 다음 자바 류 방식 의 설정 주입 에 맞 추 는 것 입 니 다. xml 설정 보다 자바 류 가 안전 하기 때 문 입 니 다.xml 의 단점 은 모든 설정 이 xml 파일 에 있어 서 코드 에서 설정 을 직관 적 으로 볼 수 없고 상대 적 으로 안전 하지 않다 는 것 이다.장점 은 namespace 가 자바 클 라 스 보다 편리 하 다 는 것 이다.
1. 자동 주입
특히 주의해 야 할 것 은, 이렇게 쓰 면, 이 종류 가 있 는 가방 들 은 이 몇 가지 종류 만 스 캔 하 는 것 이 아니 라, 스 캔 하 는 경로 가 지 정 될 것 이다
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="xxxxx" />
</beans>
JSR - 330 중 @ Named ("myName") 로 대체 할 수도 있 습 니 다.극히 적다.
(삽입 방송) 준 it 에서 spring 사용 하기
spring 의 test 패키지 도입
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.6.RELEASE</version>
</dependency>
테스트 클래스 에 주석 사용: @ RunWith (SpringJUnit 4 ClassRunner. class)
(@ RunWith 는 Junit 4 의 주해 입 니 다)
@ ContextConfiguration (classes = xxxxConfig. class) 자바 클래스 설정 을 사용 합 니 다.
주입 할 속성 에 주석 사용: @ Autowired
@Autowired
@ Autowired 는 구조 기, setter 방법, 클래스 속성 에 사용 할 수 있 습 니 다.spring 에 게 이 인 스 턴 스 에 해당 하 는 bean 주입 을 제공 합 니 다.실제로 @ Autowired 는 클래스 의 모든 방법 을 설명 할 수 있 습 니 다. spring 은 이 방법 에 대한 매개 변수 가 bean 에 대한 의존 요 구 를 만족 시 키 려 고 노력 합 니 다.만약 하나의 bean 만 이 요 구 를 만족시킨다 면, 매우 즐겁게 주입 할 것 이다.만약 bean 이 요 구 를 만족 시 키 지 않 았 다 면 이상 을 던 졌 을 것 이다.이상 을 피하 기 위해 @ Autowired (required = false) 를 사용 할 수 있 습 니 다.이렇게 하면 spring 은 잘못 보고 하지 않 지만 null 값 위험 을 남 겼 습 니 다. check null 을 기억 하 세 요.만족 하 는 bean 이 여러 개 있다 면 이상 을 던 질 수도 있 고, spring 은 어느 것 을 주입 해 야 할 지 모 릅 니 다.
@ Autowired 는 spring 특유 의 주해 입 니 다.자바 에는 @ Inject 주해 기능 이 많 지 않 습 니 다.보면 알 아야 지.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.