在本节的内容,我们将会调用Twitter的API。然后,实现访问Twitter系统来查寻相关知识。这里需要说明的是,你的电脑需要能够上国外的网站,笔者用的是VPN(如果有什么好用的VPN,麻烦推荐一下哈J)。

1.注册你的应用

在开始之前,你需要到Twitter网上注册你的应用,网址是:https://apps.twitter.com注册的信息如下。

现在我们要去复制Consumer Key和Consumer Secret的信息,信息在如下地方可以看,在稍后我们将会用到。

2.创建Spring和Twitter联合

1)        我们将要在build.gradle的文件中,添加架包的依赖。如下:

compile'org.springframework.boot:spring-boot-starter-social-twitter'

2)        接下来我们将会在application.properties的文件中添加刚刚copy的Consumer Key和Consumer Secret.

 spring.social.twitter.appId= <Consumer Key>
spring.social.twitter.appSecret= <Consumer Secret>

3.访问Twitter的控制层

现在我们需要添加于个控制器,在src/main/java/masterSpringMVC/controller下添加TweetController的类。我们需要将Twitter注入到类中。

package masterSpringMVC.controller;/*** Created by OwenWilliam on 2016/5/13.*/
@Controller
public class TweetController {@Autowiredprivate Twitter twitter;
}

接下来我们需要做如下事情,在TweetController类中添加的函数:

1)        如果访问时直接以localhost:8080访问,那么就要跳转到查寻的页面(这个是视图层,我们在后面会讲解),取名为searchPage.html.

/*** 跳转到查找页面* @return searchPage.html*/
@RequestMapping("/")
public String home()
{return "searchPage";
}

2)        当我们提交查寻的相关字段后,我们就要进行相应的逻辑处理。也就是去Twitter的网站上查找所要的信息。这里笔者加了限制,只要不是“Struts”的字段才可以去查找。

/*** 处理searchPage页面传过来的值,做逻辑处理* @param request* @param redirectAttributes* @return*/
@RequestMapping("/postSearch")
public String postSearch(HttpServletRequest request, RedirectAttributes redirectAttributes)
{String search = request.getParameter("search");//如果是struts的字段,那么是错误,提示错误信息if (search.toLowerCase().contains("struts")) {//将错误信息放入redirectAttributes.addFlashAttribute("error", "Try using spring instead!");//跳转search的页面return "redirect:/";}redirectAttributes.addAttribute("search", search);//跳转到result的处理逻辑return "redirect:result";
}

3)        当上面的步骤没有报错的情况下,我们就会重定向到result的页面,也就是要请求这个页面,但是在请求之前,需要处理相关的数据才可行。这里就是去查找Twitter上的信息。

/*** 请求Twitter的网站,查找需要的信息* @param search* @param model* @return*/
@RequestMapping("/result")
public String hello(@RequestParam(defaultValue = "owenWilliam") String search, Model model)
{//请求后返回的结果SearchResults searchResults = twitter.searchOperations().search(search);List<Tweet> tweets = searchResults.getTweets();model.addAttribute("tweets", tweets);model.addAttribute("search", search);return "resultPage";
}

4.总结

这里笔者添加了访问Twitter所需要的架包,并且已经预先处理了访问Twitter的API接口和逻辑方法,在下一节中,我们将会学习视图层应该怎么添加。

源码路径:git@github.com:owenwilliam/masterSpringMVC.git

使用Spring框架对接Twitter(一)相关推荐

  1. Spring框架:三种Spring Bean生命周期技术

    当使用术语"生命周期"时,Spring的家伙指的是您的bean的构造和破坏,通常这与Spring Context的构造和破坏有关. 在某些情况下,Bean生命周期的管理不是一件容易 ...

  2. SpringBoot-探索回顾Spring框架本质

    自始至终,SpringBoot框架都是为了能够帮助使用Spring框架的开发 快速高效地构建 一个个基于Spring框架以及Spring生态体系的应用解决方案.要深刻理解SpringBoot框架,首先 ...

  3. Spring 框架 IOC 与 DI 的总结

    一:Spring并天下 1:Spring帝国: ①:Spring崛起 什么是Spring:源于Rod Johnson在其著作<Expert one on one J2EE design and ...

  4. Spring框架学习笔记,超详细!!(4)

    Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...

  5. 深入剖析 RabbitMQ —— Spring 框架下实现 AMQP 高级消息队列协议

    前言 消息队列在现今数据量超大,并发量超高的系统中是十分常用的.本文将会对现时最常用到的几款消息队列框架 ActiveMQ.RabbitMQ.Kafka 进行分析对比. 详细介绍 RabbitMQ 在 ...

  6. Spring框架系列之AOP思想

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.AOP概述 (1).什么是 AOP AOP 为 Aspect Oriented Progra ...

  7. Java扫描配置文件的注解_详解Spring框架注解扫描开启之配置细节

    前言 Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: 在XML中进行显示配置 在Java中进行显示配置 隐式的bean发现机制和自动装配 而自动装配实现就需要注解扫描, ...

  8. spring 全局变量_[Spring]-Spring框架-02-IOC容器

    Spring框架 IOC容器 理解IOC容器和DI依赖注入 IOC容器 Inverser Of Control反转控制 就是把原来在程序中创建HelloService对象的控制权限交给Spring管理 ...

  9. spring 框架学习(一)

    1.spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...

  10. 阿里三面让我现场改造Spring框架,明天带他去爬山!

    作为一个Java程序员,提到开源框架,Spring无疑是绕不过去的门槛,相信大家对它都不陌生,或多或少都用过. 但是如果谈到改造Spring框架,实现它的自定义扩展,以及大厂面试必问的源码,很多人就会 ...

最新文章

  1. c# 中如何定义和接收消息
  2. python linux命令-Python执行Linux系统命令的4种方法
  3. Android系统编译so库提示error undefined reference to '__android_log_print问题的解决
  4. Java 线程池的原理与实现
  5. 阅读与html阅读的区别,w3c School读书笔记(一):HTML基础
  6. 快别发语音了! | 今日最佳
  7. Linux常用命令集锦(一)
  8. 秋游可以去哪些地方?
  9. C#winform可视化(当主窗体不能拖动时)
  10. 如何计算一路话音消耗的带宽
  11. python算法详解豆瓣_豆瓣评分9.0以上的编程书,了解一下?
  12. 使用TextToSpeech朗读文字
  13. 网站服务器怎么查ipv4,服务器的ipv4地址怎么查
  14. 技术领导力 程序员如何才能带团队 文摘 (三)
  15. 微信网页分享(配合微信公众平台)
  16. 手机定向root,指定APP获取root权限
  17. 目标定位算法(三)之基于角度的定位算法
  18. 清北学堂2019.8.8
  19. 【JavaSE】之注解与反射
  20. 11月03日 星期四

热门文章

  1. 【代码笔记】iOS-使用MD5加密
  2. yaml 标记语言说明
  3. 机械表小案例之transform的应用
  4. POJ 3415 Common Substrings (求长度不小于k的公共子串的个数)
  5. 【ASP.NET Web API教程】2.3.4 创建Admin视图
  6. 在CentOS 7系统上安装PHP 7.4版本的方法
  7. C/C++ 基础算法1
  8. 基础网络函数介绍及其Cpp实例(C++)
  9. 各路由协议防环机制汇总(一)
  10. PHP open_basedir配置未包含upload_tmp_dir 导致服务器不能上传文件