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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM