使用Spring框架对接Twitter(一)
在本节的内容,我们将会调用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(一)相关推荐
- Spring框架:三种Spring Bean生命周期技术
当使用术语"生命周期"时,Spring的家伙指的是您的bean的构造和破坏,通常这与Spring Context的构造和破坏有关. 在某些情况下,Bean生命周期的管理不是一件容易 ...
- SpringBoot-探索回顾Spring框架本质
自始至终,SpringBoot框架都是为了能够帮助使用Spring框架的开发 快速高效地构建 一个个基于Spring框架以及Spring生态体系的应用解决方案.要深刻理解SpringBoot框架,首先 ...
- Spring 框架 IOC 与 DI 的总结
一:Spring并天下 1:Spring帝国: ①:Spring崛起 什么是Spring:源于Rod Johnson在其著作<Expert one on one J2EE design and ...
- Spring框架学习笔记,超详细!!(4)
Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...
- 深入剖析 RabbitMQ —— Spring 框架下实现 AMQP 高级消息队列协议
前言 消息队列在现今数据量超大,并发量超高的系统中是十分常用的.本文将会对现时最常用到的几款消息队列框架 ActiveMQ.RabbitMQ.Kafka 进行分析对比. 详细介绍 RabbitMQ 在 ...
- Spring框架系列之AOP思想
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.AOP概述 (1).什么是 AOP AOP 为 Aspect Oriented Progra ...
- Java扫描配置文件的注解_详解Spring框架注解扫描开启之配置细节
前言 Spring框架对Bean进行装配提供了很灵活的方式,下面归纳一下主要的方式: 在XML中进行显示配置 在Java中进行显示配置 隐式的bean发现机制和自动装配 而自动装配实现就需要注解扫描, ...
- spring 全局变量_[Spring]-Spring框架-02-IOC容器
Spring框架 IOC容器 理解IOC容器和DI依赖注入 IOC容器 Inverser Of Control反转控制 就是把原来在程序中创建HelloService对象的控制权限交给Spring管理 ...
- spring 框架学习(一)
1.spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...
- 阿里三面让我现场改造Spring框架,明天带他去爬山!
作为一个Java程序员,提到开源框架,Spring无疑是绕不过去的门槛,相信大家对它都不陌生,或多或少都用过. 但是如果谈到改造Spring框架,实现它的自定义扩展,以及大厂面试必问的源码,很多人就会 ...
最新文章
- c# 中如何定义和接收消息
- python linux命令-Python执行Linux系统命令的4种方法
- Android系统编译so库提示error undefined reference to '__android_log_print问题的解决
- Java 线程池的原理与实现
- 阅读与html阅读的区别,w3c School读书笔记(一):HTML基础
- 快别发语音了! | 今日最佳
- Linux常用命令集锦(一)
- 秋游可以去哪些地方?
- C#winform可视化(当主窗体不能拖动时)
- 如何计算一路话音消耗的带宽
- python算法详解豆瓣_豆瓣评分9.0以上的编程书,了解一下?
- 使用TextToSpeech朗读文字
- 网站服务器怎么查ipv4,服务器的ipv4地址怎么查
- 技术领导力 程序员如何才能带团队 文摘 (三)
- 微信网页分享(配合微信公众平台)
- 手机定向root,指定APP获取root权限
- 目标定位算法(三)之基于角度的定位算法
- 清北学堂2019.8.8
- 【JavaSE】之注解与反射
- 11月03日 星期四
热门文章
- 【代码笔记】iOS-使用MD5加密
- yaml 标记语言说明
- 机械表小案例之transform的应用
- POJ 3415 Common Substrings (求长度不小于k的公共子串的个数)
- 【ASP.NET Web API教程】2.3.4 创建Admin视图
- 在CentOS 7系统上安装PHP 7.4版本的方法
- C/C++ 基础算法1
- 基础网络函数介绍及其Cpp实例(C++)
- 各路由协议防环机制汇总(一)
- PHP open_basedir配置未包含upload_tmp_dir 导致服务器不能上传文件