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在代码中获取bean的几种方式

001-Spring在代码中获取bean的几种方式

Spring在代码中获取bean的几种方式

[死磕 Spring 17/43] --- IOC 之从单例缓存中获取单例 bean

死磕 Spring----- IOC 之从单例缓存中获取单例 bean

如何获取容器中的bean对象