spring中获取bean的方式
Posted 21Java
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring中获取bean的方式相关的知识,希望对你有一定的参考价值。
获取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); } }
以上是关于spring中获取bean的方式的主要内容,如果未能解决你的问题,请参考以下文章
[死磕 Spring 17/43] --- IOC 之从单例缓存中获取单例 bean