public void load(final BeanContainer container, Class<?>[] classes) { if(null == container.getAppConfig()){ return; } String basePackage = container.getAppConfig().getBasePackage() + "."; //TODO : currently only supports classes in base-package for(Class<?> cls : classes){ boolean needLoad = cls.getName().startsWith(basePackage); for(String additionalPackage : container.getAppConfig().getAdditionalPackages()){ if(needLoad){ break; } needLoad = needLoad || cls.getName().startsWith(additionalPackage); } boolean isBean = Classes.isAnnotationPresent(cls, Bean.class); if (isBean && needLoad) { readBean(container, cls); } } }