2012-01-27 166 views
0

我试图创建一个简单的网页,这是显示数据,如何初始化网络服务的网络服务接收

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

此字符串

01调用一个服务

Iterable listTopic = service.findAllTopics();

引发空指针异常。我想,因为服务没有初始化。我怎样才能执行正确的服务初始化?

回答

1

你需要自动装配的TopicServiceHomeController

@Controller 
public class HomeController { 

    @Aurowired 
    private TopicService service; 
+0

谢谢,非常 – Eugene 2012-01-27 12:26:44