javascript
spring boot示例_Spring Boot上的Spring社交示例,或者我如何停止担心和喜欢自动配置...
spring boot示例
對于Spring Boot 1.1.0.RC1,添加了自動配置和Spring Social的啟動程序pom,這意味著我不必向pom添加一百個依賴關系,并且將為我處理許多毫無意義的Spring配置。 讓我們來看一個例子。
我將實現一個兩頁的Web應用程序。 一個將顯示給定用戶的Twitter時間軸,另一個將顯示用戶的個人資料信息。 這是我的pom:
如您所見,我具有starter-social-twitter依賴關系,該依賴關系為我提供了Spring Social和Web功能。 我將為我的jsp頁面添加jasper和jstl。 由于具有里程碑意義的存儲庫,因此我的存儲庫部分已足夠填充。
現在,我們將添加我們的服務來執行Twitter方法調用和一個用于處理請求的控制器。 我們的控制器簡單明了:
@Controller public class TwitterController {@Autowiredprivate TwitterService twitterService;@RequestMapping(value = "/timeline/{twitterUser}")public String getUserTimeline(@PathVariable String twitterUser, Model model) {model.addAttribute("tweets", twitterService.getUserTimeline(twitterUser));model.addAttribute("user", twitterUser);return "timeline";}@RequestMapping(value = "/profile/{twitterUser}")public String getUserProfile(@PathVariable String twitterUser, Model model) {model.addAttribute("userProfile", twitterService.getUserProfile(twitterUser));return "profile";} }如果請求帶有“ / timeline / username”,我們的控制器將獲取用戶時間線,如果帶有“ / profile / username”,它將從TwitterService獲取用戶配置文件。 這是我們的TwitterService:
@Service public class TwitterService {@Autowiredprivate Twitter twitter;public List < Tweet > getUserTimeline(String twitterUser) {TimelineOperations timelineOps = twitter.timelineOperations();List tweets = timelineOps.getUserTimeline("@" + twitterUser);return tweets;}public TwitterProfile getUserProfile(String twitterUser) {UserOperations userOperations = twitter.userOperations();TwitterProfile userProfile = userOperations.getUserProfile(twitterUser);return userProfile;} }由于Spring Boot的自動配置,我們將創建一個Twitter對象。 我們只需要在我們的應用程序屬性中提供一個應用程序ID和應用程序秘密密鑰(又名“消費者密鑰”和“消費者秘密”),Boot將完成其余的工作。 我引用了Spring javadoc中的Twitter對象說明:
“ TwitterTemplate的此實例僅限于僅執行需要客戶端授權的操作。 例如,您可以使用它來搜索Twitter,但不能使用它來發布狀態更新。 此處提供的客戶端憑據用于通過OAuth 2客戶端憑據授予獲取客戶端訪問令牌。
如果您嘗試進行狀態更新,則會收到“ org.springframework.social.MissingAuthorizationException:操作需要授權,但API綁定是未經授權創建的”。 對于進一步的Twitter功能,我們還需要提供訪問令牌和訪問令牌秘密密鑰,但據我所知,自動配置尚無法解決這些情況。
我的JSP:
profile.jsp:
如您所見,概要文件采用了我們控制器提供的userProfile并顯示了基本概要文件屬性。 timeline.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Time Line for <c:out value="${twitterUser}" /> TimeLine</title> </head> <body> <ul><c:forEach items="${tweets}" var="tweet"><li>${tweet.text}at <c:out value="${tweet.createdAt}"/></li></c:forEach> </ul> </body> </html>顯示推文及其文本和創建日期。 我的application.properties內容:
# Config for JSPs spring.view.prefix: /WEB-INF/jsp/ spring.view.suffix: .jsp# SPRING SOCIAL TWITTER (TwitterAutoConfiguration) spring.social.twitter.appId= someAppId spring.social.twitter.appSecret= someSecretIdspring.view屬性用于jsp處理。 spring.social.twitter屬性,可以從http://dev.twitter.com獲得 。 只需使用您的Twitter帳戶登錄那里,創建您的應用并獲取api密鑰。 結果如下:
- 您可以在github上檢查代碼。
翻譯自: https://www.javacodegeeks.com/2014/06/spring-social-example-on-spring-boot-or-how-i-stopped-worrying-and-loved-autoconfiguration.html
spring boot示例
總結
以上是生活随笔為你收集整理的spring boot示例_Spring Boot上的Spring社交示例,或者我如何停止担心和喜欢自动配置...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外媒称全球电动汽车平台开发竞争日趋激烈
- 下一篇: 空城计简介 空城计简单介绍