丿俗人 2022-12-13 15:45 采纳率: 0%
浏览 35

Springboot 项目中Controller类中@Resource注入为空 使用SpringUtil.getBean获取居然可以

问题遇到的现象和发生背景

Springboot 项目中Controller类中@Resource注入为空 使用SpringUtil.getBean获取居然可以

遇到的现象和发生背景,请写出第一个错误信息
@RestController
@RequestMapping("/template/market")
public class TemplateMarketController {
    @Resource
    public DataEaseTemplateMarketService dataEaseTemplateMarketService;



    @ApiOperation("查询模板")
    @PostMapping("/search")
    private MarketBaseResponse searchTemplate(@RequestBody TemplateMarketSearchRequest request) {
        # 这个方式可以正常提取
        DataEaseTemplateMarketService dataEaseTemplateMarketService1 = SpringUtil.getBean(DataEaseTemplateMarketService.class);
        return dataEaseTemplateMarketService.searchTemplate(request);
    }


@Service
@DS("dbsyj")
public class DataEaseTemplateMarketService {

    private final static String POSTS_API="/api/content/posts?page=0&size=2000";
    private final static String CATEGORIES_API="/api/content/categories";

    @Resource
    private SystemParameterService systemParameterService;

    /**
     * @Description Get template file from template market
     * @param templateUrl template url
     */
    public PanelTemplateFileDTO getTemplateFromMarket(String templateUrl){
        if(StringUtils.isNotEmpty(templateUrl)){
            String sufUrl = systemParameterService.templateMarketInfo().getTemplateMarketUlr();
            Gson gson = new Gson();
            String templateInfo =  HttpClientUtil.get(sufUrl+templateUrl,null);
            return gson.fromJson(templateInfo, PanelTemplateFileDTO.class);
        }else{
            return null;
        }
    }

    /**
     * @Description Get info from template market content api
     * @param url content api url
     */
    public String marketGet(String url,String accessKey){
        HttpClientConfig config = new HttpClientConfig();
        config.addHeader("API-Authorization",accessKey);
        return  HttpClientUtil.get(url,config);
    }

    public MarketBaseResponse searchTemplate(TemplateMarketSearchRequest request){
        try{
            BasicInfo basicInfo = systemParameterService.templateMarketInfo();
            String result = marketGet(basicInfo.getTemplateMarketUlr()+POSTS_API,basicInfo.getTemplateAccessKey());
           List<TemplateMarketDTO> postsResult = JSONObject.parseObject(result).getJSONObject("data").getJSONArray("content").toJavaList(TemplateMarketDTO.class);
           return new MarketBaseResponse(basicInfo.getTemplateMarketUlr(),postsResult);
        }catch (Exception e){
            DataEaseException.throwException(e);
        }
        return null;
    }

    public List<String> getCategories(){
        BasicInfo basicInfo = systemParameterService.templateMarketInfo();
        String resultStr = marketGet(basicInfo.getTemplateMarketUlr()+CATEGORIES_API,basicInfo.getTemplateAccessKey());
        List<TemplateCategory> categories = JSONObject.parseObject(resultStr).getJSONArray("data").toJavaList(TemplateCategory.class);
        if(CollectionUtils.isNotEmpty(categories)){
            return categories.stream().sorted(Comparator.comparing(TemplateCategory::getPriority)).map(TemplateCategory :: getName).collect(Collectors.toList());
        }else{
            return null;
        }

    }
}
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

2条回答 默认 最新

  • 心寒丶 全栈领域优质创作者 2022-12-13 15:53
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 12月13日

悬赏问题

  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?