add FactoryBean & ThreadLocal