獲取bean的方式
1.可以通過上下文的getBean方法
2.可以通過@Autowired注入
定義controller
@RestController @RequestMapping("/api") public class ApiUserController { /** * 上下文對象實例 */ @Autowired private ApplicationContext applicationContext; @Autowired private IUserService userService; @RequestMapping("/getById") public RestResponse<User> getUser(Long id) { //使用@service注解上的別名進行獲取bean IUserService service = (IUserService) applicationContext.getBean("IUserService"); return service.getUserById(id); } @RequestMapping("/getByIdNoHytrix") public RestResponse<User> getUserNoHytrix(Long id) { return userService.getUserByIdNoHytrix(id); } }
定義service,注解上的IUserService為自定義的名字,getBean()只能用它
@Service("IUserService") public class UserService implements IUserService { @Autowired private UserDao userDao; public RestResponse<User> getUserById(Long id) { return userDao.getUseById(id); } public RestResponse<User> getUserByIdNoHytrix(Long id) { return userDao.getUseByIdNoHytrix(id); } }