[haiyang] add auto wired by name
[haiyang] implement autowired by type and null