gpt4 book ai didi

java - Spring MVC 中整数(最终类)的 CGLib 代理

转载 作者:行者123 更新时间:2023-12-02 00:45:49 26 4
gpt4 key购买 nike

我需要这样的用法:

对于每个请求,我想将 userId 注入(inject) DemoController 但由于是一个没有空构造函数的最终类,我无法注入(inject)它。在这种情况下,最佳做法是什么?具有请求范围的服务可以吗?

@Configuration
public class CityFactory{

@Bean(name = {"currentUserId")
@Scope(value = WebApplicationContext.SCOPE_REQUEST,proxyMode = ScopedProxyMode.TARGET_CLASS)
@Autowired
public Integer getUserId(HttpServletRequest request) {
return UserUtil.getCurrentUserId(request.getServerName());
}
}


@RequestMapping("/demo")
@Controller
public class DemoController {

@Autowired
Ingeter userId;

@RequestMapping(value = "/hello/{name}", method = RequestMethod.GET)
public ModelAndView helloWorld(@PathVariable("name") String name, Model model) {
Map<String, Object> myModel = new HashMap<String, Object>();
model.addAttribute("user", userId);
return new ModelAndView("v3/test", "m", model);
}
}

最佳答案

最好的办法是创建一个名为 UserId 的显式类,该类又包含一个整数。这不仅可以更好地配合 CGLIB 的代理,而且还可以澄清您的设计。

关于java - Spring MVC 中整数(最终类)的 CGLib 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com