Prechádzať zdrojové kódy

:tada: 2.3.0.RELEASE

smallchill 6 rokov pred
rodič
commit
3cd85242ec

+ 10 - 6
pom.xml

@@ -7,7 +7,7 @@
     <groupId>org.springblade</groupId>
     <artifactId>BladeX-Boot</artifactId>
     <packaging>jar</packaging>
-    <version>2.2.2.RELEASE</version>
+    <version>2.3.0.RELEASE</version>
 
     <properties>
         <java.version>1.8</java.version>
@@ -64,6 +64,10 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-starter-http</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-datascope</artifactId>
@@ -210,11 +214,6 @@
     </build>
 
     <repositories>
-        <repository>
-            <id>blade-release</id>
-            <name>Release Repository</name>
-            <url>http://nexus.bladex.vip/repository/maven-releases/</url>
-        </repository>
         <repository>
             <id>aliyun-repos</id>
             <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
@@ -222,6 +221,11 @@
                 <enabled>false</enabled>
             </snapshots>
         </repository>
+        <repository>
+            <id>blade-release</id>
+            <name>Release Repository</name>
+            <url>http://nexus.bladex.vip/repository/maven-releases/</url>
+        </repository>
     </repositories>
 
     <pluginRepositories>

+ 3 - 0
src/main/resources/application-dev.yml

@@ -27,6 +27,9 @@ spring:
 
 #blade配置
 blade:
+  lock:
+    enabled: false
+    address: redis://127.0.0.1:6379
   prop:
     upload-domain: http://localhost:8888
     remote-mode: true

+ 3 - 0
src/main/resources/application-prod.yml

@@ -18,6 +18,9 @@ spring:
 
 #blade配置
 blade:
+  lock:
+    enabled: false
+    address: redis://127.0.0.1:6379
   prop:
     upload-domain: http://localhost:8888
     remote-mode: true

+ 3 - 0
src/main/resources/application-test.yml

@@ -18,6 +18,9 @@ spring:
 
 #blade配置
 blade:
+  lock:
+    enabled: false
+    address: redis://127.0.0.1:6379
   prop:
     upload-domain: http://localhost:8888
     remote-mode: true

+ 22 - 0
src/test/java/org/springblade/test/http/OsChina.java

@@ -0,0 +1,22 @@
+package org.springblade.test.http;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.http.CssQuery;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class OsChina {
+
+	@CssQuery(value = "head > title", attr = "text")
+	private String title;
+
+	@CssQuery(value = "#v_news .page .news", inner = true)
+	private List<VNews> vNews;
+
+	@CssQuery(value = ".blog-container .blog-list div", inner = true)
+	private List<VBlog> vBlogList;
+
+}

+ 38 - 0
src/test/java/org/springblade/test/http/OsChinaTest.java

@@ -0,0 +1,38 @@
+package org.springblade.test.http;
+
+import org.springblade.core.http.HttpRequest;
+
+import java.util.List;
+
+public class OsChinaTest {
+
+	public static void main(String[] args) {
+		// 同步,异常返回 null
+		OsChina oschina = HttpRequest.get("https://www.oschina.net")
+			.execute()
+			.onSuccess(responseSpec -> responseSpec.asDomValue(OsChina.class));
+		if (oschina == null) {
+			return;
+		}
+		System.out.println(oschina.getTitle());
+
+		System.out.println("热门新闻");
+
+		List<VNews> vNews = oschina.getVNews();
+		for (VNews vNew : vNews) {
+			System.out.println("title:\t" + vNew.getTitle());
+			System.out.println("href:\t" + vNew.getHref());
+			System.out.println("时间:\t" + vNew.getDate());
+		}
+
+		System.out.println("热门博客");
+		List<VBlog> vBlogList = oschina.getVBlogList();
+		for (VBlog vBlog : vBlogList) {
+			System.out.println("title:\t" + vBlog.getTitle());
+			System.out.println("href:\t" + vBlog.getHref());
+			System.out.println("阅读数:\t" + vBlog.getRead());
+			System.out.println("评价数:\t" + vBlog.getPing());
+			System.out.println("点赞数:\t" + vBlog.getZhan());
+		}
+	}
+}

+ 30 - 0
src/test/java/org/springblade/test/http/VBlog.java

@@ -0,0 +1,30 @@
+package org.springblade.test.http;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.http.CssQuery;
+
+/**
+ * 热门博客
+ */
+@Getter
+@Setter
+public class VBlog {
+
+	@CssQuery(value = "a", attr = "title")
+	private String title;
+
+	@CssQuery(value = "a", attr = "href")
+	private String href;
+
+	//1341阅/9评/4赞
+	@CssQuery(value = "span", attr = "text", regex = "^\\d+")
+	private Integer read;
+
+	@CssQuery(value = "span", attr = "text", regex = "(\\d*).*/(\\d*).*/(\\d*).*", regexGroup = 2)
+	private Integer ping;
+
+	@CssQuery(value = "span", attr = "text", regex = "(\\d*).*/(\\d*).*/(\\d*).*", regexGroup = 3)
+	private Integer zhan;
+
+}

+ 24 - 0
src/test/java/org/springblade/test/http/VNews.java

@@ -0,0 +1,24 @@
+package org.springblade.test.http;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.http.CssQuery;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Setter
+@Getter
+public class VNews {
+
+	@CssQuery(value = "a", attr = "title")
+	private String title;
+
+	@CssQuery(value = "a", attr = "href")
+	private String href;
+
+	@CssQuery(value = ".news-date", attr = "text")
+	@DateTimeFormat(pattern = "MM/dd")
+	private Date date;
+
+}