디자인 모델 2 의 간단 한 공장 모델

1364 단어 디자인 모드
단순 공장 모델 = 공장 류 + 업무 류 + 구체 적 실현 류 자기 이해: 류 의 이름 을 통 해 공장 의 대상 을 얻 고 주로 공장 이 필요 한 대상 을 생 성 하 는 데 도움 을 주 었 다.
예제 코드:
공장 류
@Service
@RequiredArgsConstructor(onConstructor = @_(@Autowired))
public class Factory {
//      
    private final ApplicationContext applicationContext;

/**Spring     ,              .getSimpleName**/
    public Object getBean(String beanId){
        if (applicationContext.containsBean(beanId)) {
            return applicationContext.getBean(beanId);
        }
        return null;
    }
    
}

비 즈 니스 클래스
@RestController
@RequestMapping("/test")
public class TestController {


    @Autowired
    private Factory factory;

    @GetMapping("/factory")
    public String factory(@RequestParam String beanName){
        FactoryServiceA serviceA=(FactoryServiceA)factory.getBean(beanName);
        return serviceA.factoryServiceA(beanName);
    }

구체 적 실현 류
@Service("FactoryServiceA")
public class FactoryServiceA {

    public String factoryServiceA(String beanName){
        System.out.println("---------------AAAAAA----------");
        System.out.println(beanName);
        return beanName;
    }
}

비고: 공장 류 의 context 를 용기 에 주입 합 니 다. 예 를 들 어 applicationContextAware 인 터 페 이 스 를 실현 하고 context 를 용기 에 넣 습 니 다.

좋은 웹페이지 즐겨찾기