봄 - 2 - 주해

4263 단어 Spring
내용    1. Spring        * 생 성 대상 의 설명        * 주입 데이터 의 주해        * 작용 범 위 를 바 꾸 는 주해    2. Spring 의 새로운 주해    3. Spring 과 Junit 통합 \ # # spring 에서 자주 사용 하 는 주해    1. 대상 만 들 기:        @Component: 자원 을 spring 에 관리 하도록 합 니 다.xml 에 bean 을 설정 하 는 것 과 같 습 니 다.          @Controller: 일반적으로 표현 층 의 주석 에 사 용 됩 니 다.           @Service:     일반적으로 업무 층 의 주해 에 쓰 인 다.           @Repository: 보통 지구 층 의 주석 에 사 용 됩 니 다.    2. 데이터 주입 에 사용:        @Autowired: 자동 으로 유형 에 따라 주입 합 니 다.            * 주 해 를 사용 하여 속성 을 주입 할 때 set 방법 은 생략 할 수 있 습 니 다.그것 은 다른 bean 형식 만 주입 할 수 있 습 니 다.            * 여러 종류 가 일치 할 때 주입 할 대상 변수 이름 을 bean 의 id 로 사용 하고 spring 용기 에서 찾 으 면 주입 에 성공 할 수 있 습 니 다.찾 지 못 하면 잘못 을 보고 하 다.          @Qualifier ("value"): 자동 으로 유형 에 따라 주입 되 는 기초 위 에 이름 에 따라 주입 합 니 다.필드 에 주입 할 때 독립 적 으로 사용 할 수 없습니다. @ Autowire 와 함께 사용 해 야 합 니 다.그러나 방법 매개 변 수 를 주입 할 때 는 독립 적 으로 사용 할 수 있다.              value 속성: bean 의 id 를 지정 합 니 다.          @Resource("name")             역할: bean 의 id 에 직접 주입 합 니 다.그것 은 독립 적 으로 사용 할 수 있다.            name 속성: bean 을 지정 하 는 id 입 니 다.        상기 세 개의 주입 은 다른 bean 형식의 데이터 만 주입 할 수 있 으 며, 기본 형식 과 String 형식 은 상기 주 해 를 사용 하여 실현 할 수 없습니다.        또 집합 유형의 주입 은 XML 로 만 가능 하 다.        @Value:             역할:  기본 데이터 형식 과 String 형식의 데 이 터 를 주입 하 는      3. 범위 변경 에 사용:        역할: bean 의 역할 범 위 를 지정 합 니 다.        value 속성: 지정 한 범위 의 값, singleton, prototype, request, session 또는 globalsession ## spring 의 새로운 주석    1. @Configuration         역할: 현재 클래스 를 지정 하 는 데 사용 되 는 spring 설정 클래스 (bean. xml 파일 에 해당) 입 니 다. 용 기 를 만 들 때 이 클래스 에서 주 해 를 불 러 옵 니 다.        주: 설정 클래스 가 AnnotationConfigapplicationContext 대상 으로 만 든 인자 일 때 이 주 해 는 쓰 지 않 아 도 됩 니 다.    2. @ComponentScan("value")         역할: 주 해 를 통 해 spring 이 용 기 를 만 들 때 스 캔 할 가방 을 지정 합 니 다.        value 속성: basePackages 와 같은 역할 을 합 니 다. 용 기 를 만 들 때 스 캔 할 가방 을 지정 하 는 데 사 용 됩 니 다.        주: 이 주 해 를 사용 하면 xml 에서 설정 한 것 과 같 습 니 다.         3. Import({},{}...)         역할: 다른 설정 클래스 를 가 져 오 는 데 사 용 됩 니 다. 다른 설정 클래스 를 가 져 올 때 @ Configuration 주 해 를 쓰 지 않 아 도 됩 니 다.써 도 돼.        value [] 속성: 다른 설정 클래스 의 바이트 코드 를 지정 하 는 데 사 용 됩 니 다.        주: 우리 가 Import 의 주 해 를 사용 한 후에 Import 주해 가 있 는 클래스 는 부모 설정 클래스 이 고 가 져 온 것 은 모두 하위 설정 클래스 입 니 다.         4. PropertySource         역할: properties 파일 의 위 치 를 지정 하 는 데 사용 합 니 다.        value 속성: 파일 의 이름과 경 로 를 지정 합 니 다.        키워드: classpath, 클래스 경로 표시                         5. @Bean(name=" ")         역할: 이 주 해 는 방법 에 만 적 혀 있 습 니 다. 이 방법 으로 대상 을 만 들 고 spring 용기 에 넣 는 것 을 표시 합 니 다.        name 속성: bean 을 지정 하 는 id 입 니 다.쓰 지 않 을 때 기본 값 은 현재 방법의 이름 입 니 다.        메모: 주석 설정 방법 을 사용 할 때 매개 변수 가 있 으 면 spring 프레임 워 크 는 용기 에서 사용 가능 한 bean 대상 이 있 는 지 찾 습 니 다.찾 는 방식 과 Autowired 주해 의 역할 은 같 습 니 다. \ # spring 과 Junit 통합    1. 분석:        * 프로그램의 입 구 는 main 방법 입 니 다. Junit 는 main 방법 을 통합 하 였 습 니 다.        * 준 it 유닛 테스트 에서 준 it 통합 main 방법 은 현재 테스트 클래스 에서 어떤 방법 이 @ Test 주해 가 있 는 지 판단 하여 @ Test 주해 가 있 는 방법 으로 실 행 됩 니 다.        * 실행 과정 에서 준 it 는 우리 가 spring 프레임 워 크 를 사 용 했 는 지 에 관 계 없 이 설정 파일 / 설정 류 를 읽 지 않 고 Spring 의 핵심 용 기 를 만 듭 니 다.        * 따라서 준 it 테스트 방법 이 실 행 될 때 IoC 용기 가 없 으 면 Autowired 주 해 를 써 도 주입 이 불가능 합 니 다.    2. 해결 방법 절차        1. 첫 번 째 단계: 준 it 를 통합 하 는 필수 jar 패 키 지 를 lib 디 렉 터 리 로 복사 합 니 다.          2. 두 번 째 단계: @ RunWith 주 해 를 사용 하여 기 존 실행 기 를 교체 합 니 다.              * 테스트 클래스 에 주석 추가: @ RunWith (SpringJUnit 4 ClassRunner. class)          3. 세 번 째 단계: @ ContextConfiguration 을 사용 하여 spring 프로필 의 위 치 를 지정 합 니 다.              *테스트 클래스 에 주석 추가: @ ContextConfiguration (locations = {"classpath: bean. xml"})              *설명: @ ContextConfiguration 주석                    locations 속성: 설정 파일 의 위 치 를 지정 하 는 데 사 용 됩 니 다.클래스 경로 라면 classpath: 로 표시 해 야 합 니 다.                    classes 속성: 주 해 를 지정 하 는 클래스 입 니 다.xml 설정 을 사용 하지 않 을 때 이 속성 으로 주석 류 의 위 치 를 지정 해 야 합 니 다.        4. 네 번 째 단계: @ Autowired 를 사용 하여 테스트 클래스 의 변수 에 데 이 터 를 주입 합 니 다.          테스트 클래스:
        @RunWith(SpringJUnit4ClassRunner.class)
        @ContextConfiguration(locations = "classpath:bean.xml")
        public class AccountServiceTest {
        
            @Autowired
            private  IAccountService as;
            
            @Test
            public void test{
        
            }
        
        }

좋은 웹페이지 즐겨찾기