autowired
pub fn register<T: Component>(component: Arc<T>) -> bool
add component into a global map return false if component has already existed