自分の新しいオブジェクトを注入@Autowiredすることは、無用のオブジェクトバネ管理の同等無効です。

インターフェイスUserServiceImplクラス、および制御UserServiceのUserServiceの=新しいUserServiceImpl()を持つクラス定義、クラスのメソッドの実装userService.queryById(ID)を呼び出し、オブジェクトを作成する実装クラスを、それがヌルポインタ、実行文に報告されjpaQueryFactoryエラー。

コードは以下の通りである
実装クラスを:
インポート...

@Service( "UserServiceの")
パブリッククラスUserServiceImplはUserServiceのを{実装します

@Autowired
JPAQueryFactory jpaQueryFactory。

@Override
パブリックリスト<UserEntity> queryById(IntergerのID){
リスト<UserEntity>リスト= NULL;
QUserEntity qUserEntity = QUserEntity.userEntity。

    Predicate predicate1=qUserEntity.id.eq(id).and(qUserEntity.state.eq("10A"));

    list=jpaQueryFactory.selectFrom(qUserEntity)
                            .where(predicate1)
                            .fetch();

    return list;

}。
}

控制类:
輸入...
輸入io.swagger.annotations.Api。
輸入io.swagger.annotations.ApiOperation。
輸入org.springframework.beans.factory.annotation.Autowired;
輸入org.springframework.stereotype.Controller。
輸入org.springframework.web.bind.annotation.RequestBody。
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.RequestMethod;
輸入org.springframework.web.bind.annotation.ResponseBody。

輸入java.util.HashMapを;
輸入はjava.util.List;
輸入java.util.Map;

@コントローラ

@RequestMapping( "API /ユーザ/")

パブリッククラスUserControllerで{

@ResponseBody
@RequestMapping(value = "getTree" , method = RequestMethod.POST)
public Map<String, Object> getTree(@RequestBody UserTreeDto dto){

   UserService userService=new UserServiceImpl();
            List<UserEntity> list = userService.queryById(id);

          resultMap.put("data",list);
    resultMap.put("result","suc");
    return resultMap;
}

}

ソリューション:コントロールクラスを変更するには、クラス定義は、注射の方法は、以下により実装
@Controller

@RequestMapping( "API /ユーザ/")

パブリッククラスUserControllerで{

@Autowired
UserService userService;

@ResponseBody
@RequestMapping(value = "getTree" , method = RequestMethod.POST)
public Map<String, Object> getTree(@RequestBody UserTreeDto dto){

    Interger id=dto.getId();
            List<UserEntity> list = userService.queryById(id);

          resultMap.put("data",list);
    resultMap.put("result","suc");
    return resultMap;
}

}

その理由の説明:これは彼のために新しいオブジェクトが春の管理に起因しているのではない、この状況は無用春管理に相当し、それは自動依存性の注入ではありません空のレポートに使用された場合、jpaQueryFactory性質は、nullですjpaQueryFactoryが注入法で定義されているもののポインタ例外は、動作しません。

おすすめ

転載: blog.51cto.com/9784292/2429540