獲取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);
}
}
