implement java config based full autowired feature