繁体   English   中英

如何初始化网络服务

[英]How to initialize web-service

我正在尝试创建一个简单的网页,该网页显示从Web服务接收的数据

@Service
@Transactional
public class TopicService {
    @Autowired
    private TopicRepository topicRepository;

    public int saveTopic(Topic topic){
        return topicRepository.save(topic).getId();

        }

    public Iterable<Topic> findAllTopics(){
        return topicRepository.findAll();

    }

    public Topic findTopicByID(Long id){
        return topicRepository.findOne(id);
    }

    public List<Topic> findTopicsByTag(Tag tag){
        return topicRepository.findAllByTopicTag(tag);
    }

}

主题存储库扩展了CRUD存储库

@Repository
public interface TopicRepository extends CrudRepository<Topic, Long>
{
    List<Topic> findAllByTopicTag(Tag currentTag);

} 

控制器通过以下方式调用服务

@Controller
public class HomeController {

    private TopicService service;

    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView home(Locale locale, Model model) 
    {
         Iterable<Topic> listTopic = service.findAllTopics();
         return new ModelAndView("home", "model", listTopic);
}
}

这个字符串

可迭代的listTopic = service.findAllTopics();

抛出空指针异常。 我猜是因为服务没有初始化。 如何执行服务的正确初始化?

您需要在HomeController自动连接TopicService

@Controller
public class HomeController {

    @Aurowired
    private TopicService service;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM