SpringBoot_0 學(xué)習(xí)過(guò)程 最簡(jiǎn)springboot入門

入坑說(shuō)明:前情提要

進(jìn)入spring boot官網(wǎng)并使用360瀏覽器翻譯插件翻譯后吱窝,(所有斜體字都是自動(dòng)翻譯或者根據(jù)官網(wǎng)英語(yǔ)推測(cè)的)首先看到的就是標(biāo)題Spring Boot參考指南揍鸟,隨后就是一堆作者和版權(quán),作者名字很多咽弦,可惜一個(gè)都不認(rèn)識(shí),看下面的版權(quán)說(shuō)明

本文件的副本可供您自己使用和分發(fā)給他人,前提是您不對(duì)此類副本收取任何費(fèi)用响蓉,并且每份副本均包含本版權(quán)聲明酷含,無(wú)論是以印刷版還是電子版分發(fā)鄙早。

所以只要我不收費(fèi)就可以隨意查看和分享這份參考指南汪茧,真是太棒了!接下來(lái)是目錄限番,第一部分主要講解的是springboot的概述陆爽,沒興趣,直接第二部分扳缕,也就是getting started(翻譯過(guò)來(lái)是入門)慌闭。

首先是介紹Spring Boot,翻譯后的內(nèi)容有些不通順躯舔,所以修改了一下:

介紹Spring Boot

Spring Boot可以輕松的創(chuàng)建可獨(dú)立運(yùn)行的生產(chǎn)級(jí)的基于Spring的應(yīng)用程序驴剔。我們對(duì)Spring平臺(tái)和第三方庫(kù)進(jìn)行了一種通用的配置,這樣您就可以輕松上手了粥庄。大多數(shù)Spring Boot應(yīng)用程序只需要很少的Spring配置丧失。

您可以使用Spring Boot創(chuàng)建Java應(yīng)用程序 ,它可以使用java -jar或更傳統(tǒng)的war包來(lái)部署啟動(dòng)惜互。我們還提供了一個(gè)運(yùn)行“spring scripts”的命令行工具布讹。

我們的主要目標(biāo)是:

為所有Spring開發(fā)提供從根本上更快且可廣泛訪問(wèn)的入門方案。

開箱即用训堆,隨著需求開始而迅速擺脫困境描验。

提供大型項(xiàng)目(例如嵌入式服務(wù)器,安全性坑鱼,度量標(biāo)準(zhǔn)膘流,運(yùn)行狀況檢查和外部化配置)通用的一系列非功能性特性。

絕對(duì)沒有代碼生成鲁沥,也不需要XML配置呼股。

好,我就信了你的鞋画恰,只要看到xml配置的地方全部跳過(guò)彭谁。

系統(tǒng)要求

Spring Boot 2.1.6.RELEASE需要Java 8,并且與Java 11兼容(包括在內(nèi))允扇。?還需要Spring Framework 5.1.8.RELEASE或更高版本缠局。以下構(gòu)建工具提供了顯式構(gòu)建支持:

Build ToolVersion

Maven3.3+

Gradle4.4+

Servlet容器? ?Spring Boot支持以下嵌入式servlet容器:

NameServlet Version

Tomcat 9.04.0

Jetty 9.43.1

Undertow 2.04.0

您還可以將Spring Boot應(yīng)用程序部署到任何Servlet 3.1+兼容容器。

通常用到的是maven加Tomcat蔼两,這兩個(gè)要好好學(xué)甩鳄。

安裝Spring Boot

Spring Boot可以與“通用”Java開發(fā)工具一起使用,也可以作為命令行工具安裝额划。無(wú)論哪種方式妙啃,您都需要Java SDK v1.8或更高版本。在開始之前,您應(yīng)該使用以下命令檢查當(dāng)前的Java安裝:

$ java -version

如果您不熟悉Java開發(fā)揖赴,或者想要嘗試Spring Boot馆匿,則可能需要先嘗試Spring Boot CLI(命令行界面)。否則燥滑,請(qǐng)繼續(xù)閱讀“通用”安裝說(shuō)明渐北。

這里必須說(shuō)明一下,本次學(xué)習(xí)涉及范圍不大铭拧,也不想拓寬其他知識(shí)赃蛛,所以只使用通用的maven來(lái)說(shuō)明如何安裝,其他方式的安裝也有介紹搀菩,包括最原始的方法直接導(dǎo)入jar包呕臂,也包括使用新的構(gòu)建工具Gradle來(lái)安裝,使用Spring Boot CLI命令行安裝肪跋,SDKMAN安裝歧蒋,OSX Homebrew安裝(Mac),MacPorts安裝(Mac)州既,Windows Scoop安裝谜洽,以及如何從早期版本的Spring Boot升級(jí)到最新的版本里面都有一定的介紹,這些普通公司用的不多吴叶,初學(xué)者沒時(shí)間也沒精力去探險(xiǎn)阐虚。

Maven安裝

Spring Boot與Apache Maven 3.3或更高版本兼容。如果您還沒有安裝Maven晤郑,可以按照maven.apache.org上的說(shuō)明進(jìn)行操作敌呈。

在許多操作系統(tǒng)上贸宏,Maven可以與軟件包管理器一起安裝造寝。如果您使用OSX Homebrew,請(qǐng)嘗試brew install maven吭练。Ubuntu用戶可以運(yùn)行sudo apt-get install maven诫龙。使用Chocolatey的?Windows用戶可以使用命令choco install maven運(yùn)行安裝。

Spring Boot依賴項(xiàng)使用org.springframework.boot?groupId鲫咽。通常签赃,您的Maven POM文件繼承自spring-boot-starter-parent項(xiàng)目并聲明對(duì)一個(gè)或多個(gè)“Starters”的依賴關(guān)系。Spring Boot還提供了一個(gè)可選的?Maven插件來(lái)創(chuàng)建可執(zhí)行jar分尸。

以下清單顯示了一個(gè)典型pom.xml文件內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

? ? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

? ? <modelVersion>4.0.0</modelVersion>

? ? <groupId>com.example</groupId>

? ? <artifactId>myproject</artifactId>

? ? <version>0.0.1-SNAPSHOT</version>

? ? <!-- 從springboot父模塊中繼承默認(rèn)啟動(dòng)配置 -->

? ? <parent>

? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? <artifactId>spring-boot-starter-parent</artifactId>

? ? ? ? <version>2.1.6.RELEASE</version>

? ? </parent>

? ? <!-- 為網(wǎng)絡(luò)程序添加基本依賴 -->

? ? <dependencies>

? ? ? ? <dependency>

? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? ? ? <artifactId>spring-boot-starter-web</artifactId>

? ? ? ? </dependency>

? ? </dependencies>

? ? <!-- 打包為可執(zhí)行jar包 -->

? ? <build>

? ? ? ? <plugins>

? ? ? ? ? ? <plugin>

? ? ? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>

? ? ? ? ? ? </plugin>

? ? ? ? </plugins>

? ? </build>

</project>

這里導(dǎo)入的spring-boot-starter-parent父模塊是使用Spring Boot的好方法锦聊,但它可能并不適合所有情況箩绍。有時(shí)您可能需要從不同的父POM繼承孔庭,或者您可能不喜歡我們的默認(rèn)設(shè)置。在這些情況下,請(qǐng)參見?第13.2.2節(jié)“使用沒有父POM的Spring Boot”來(lái)獲得使用import?范圍的替代解決方案圆到。

這里開始使用maven構(gòu)建項(xiàng)目怎抛,如果不明白不要問(wèn),自己百度maven簡(jiǎn)單示例芽淡。

開發(fā)您的第一個(gè)Spring Boot應(yīng)用程序

本節(jié)介紹如何開發(fā)一個(gè)簡(jiǎn)單的“Hello World马绝!”Web應(yīng)用程序,該應(yīng)用程序突出了Spring Boot的一些主要功能挣菲。我們使用Maven來(lái)構(gòu)建這個(gè)項(xiàng)目富稻,因?yàn)榇蠖鄶?shù)IDE都支持它。

在開始之前白胀,打開終端并運(yùn)行以下命令以確保安裝了有效的Java和Maven版本:

$ java -version

java version "1.8.0_102"

Java(TM) SE Runtime Environment (build 1.8.0_102-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

$ mvn -v

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T14:33:14-04:00)

Maven home: /usr/local/Cellar/maven/3.3.9/libexec

Java version: 1.8.0_102, vendor: Oracle Corporation

此示例需要在其自己的文件夾中創(chuàng)建唉窃。后續(xù)說(shuō)明假定您已創(chuàng)建了一個(gè)合適的文件夾,并且它是您當(dāng)前的目錄纹笼。

創(chuàng)建POM文件

我們需要從創(chuàng)建Maven pom.xml文件開始纹份。本pom.xml是用來(lái)構(gòu)建項(xiàng)目的依賴關(guān)系說(shuō)明。打開您喜歡的文本編輯器并添加以下內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

? ? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

? ? <modelVersion>4.0.0</modelVersion>

? ? <groupId>com.example</groupId>

? ? <artifactId>myproject</artifactId>

? ? <version>0.0.1-SNAPSHOT</version>

? ? <parent>

? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? <artifactId>spring-boot-starter-parent</artifactId>

? ? ? ? <version>2.1.6.RELEASE</version>

? ? </parent>

? ? <!-- 當(dāng)有其他pom內(nèi)容需要添加時(shí)放到這里... -->

</project>

上面的內(nèi)容應(yīng)該為您提供有效的構(gòu)建廷痘。您可以通過(guò)運(yùn)行來(lái)測(cè)試它mvn package(現(xiàn)在蔓涧,您可以忽略“jar將為空”的相關(guān)警告)。

此時(shí)笋额,您可以將項(xiàng)目導(dǎo)入IDE(大多數(shù)現(xiàn)代Java IDE(eclipse元暴,idea較常用)包括對(duì)Maven的內(nèi)置支持)。為簡(jiǎn)單起見兄猩,我們繼續(xù)為此示例使用純文本編輯器茉盏。

添加類路徑依賴關(guān)系

Spring Boot提供了許多“Starters”,可以將jar添加到類路徑中枢冤。我們的示例應(yīng)用程序已經(jīng)spring-boot-starter-parent在parent POM部分中使用過(guò)鸠姨。spring-boot-starter-parent是一個(gè)特殊的啟動(dòng)器,提供有用的Maven默認(rèn)值淹真。它還提供了一個(gè)依賴部分讶迁,以便您可以省略版本號(hào)的說(shuō)明。

其他“Starters”提供了在開發(fā)特定類型的應(yīng)用程序時(shí)可能需要的依賴項(xiàng)核蘸。由于我們正在開發(fā)Web應(yīng)用程序巍糯,因此我們添加了 spring-boot-starter-web依賴項(xiàng)。在此之前客扎,我們可以通過(guò)運(yùn)行以下命令來(lái)查看當(dāng)前的內(nèi)容:

$ mvn dependency:tree

[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

該mvn dependency:tree命令打印項(xiàng)目依賴項(xiàng)的樹表示祟峦。您可以看到它spring-boot-starter-parent本身不提供依賴關(guān)系。要添加必要的依賴項(xiàng)徙鱼,請(qǐng)編輯pom.xml文件宅楞,并在spring-boot-starter-web該parent部分下方添加依賴項(xiàng),示例:

<dependencies>

? ? <dependency>

? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? <artifactId>spring-boot-starter-web</artifactId>

? ? </dependency>

</dependencies>

如果mvn dependency:tree再次運(yùn)行,您會(huì)發(fā)現(xiàn)現(xiàn)在有許多其他依賴項(xiàng)咱筛,包括Tomcat Web服務(wù)器和Spring Boot本身搓幌。

編寫代碼

要完成我們的應(yīng)用程序,我們需要?jiǎng)?chuàng)建一個(gè)Java文件迅箩。默認(rèn)情況下溉愁,Maven編譯源代碼的路徑是src/main/java,因此您需要?jiǎng)?chuàng)建該文件夾結(jié)構(gòu)饲趋,然后添加一個(gè)名為src/main/java/Example.java且包含以下代碼的文件:

import org.springframework.boot.*;

import org.springframework.boot.autoconfigure.*;

import org.springframework.web.bind.annotation.*;

@RestController

@EnableAutoConfiguration

public class Example {

? ? @RequestMapping("/")

? ? String home() {

? ? ? ? return "Hello World!";

? ? }

? ? public static void main(String[] args) {

? ? ? ? SpringApplication.run(Example.class, args);

? ? }

}

雖然這里的代碼不多拐揭,但還是有很多代碼。我們將在接下來(lái)的幾節(jié)中逐步介紹重要部分奕塑。

@RestController和@RequestMapping Annotations 注解說(shuō)明

在Example類上的第一個(gè)注解是@RestController堂污。這被稱為構(gòu)造型注釋。它為閱讀代碼的人提供了提示龄砰,而為Spring提供了特定角色的提示盟猖。在這種情況下,我們的類是一個(gè)Web @Controller换棚,因此Spring在處理傳入的Web請(qǐng)求時(shí)會(huì)考慮它式镐。

該@RequestMapping注釋提供“路由”的信息。它告訴Spring固蚤,任何帶/路徑的HTTP請(qǐng)求都應(yīng)該映射到該home方法娘汞。該 @RestController注解告訴Spring使得到的字符串直接返回給調(diào)用者。

在@RestController與@RequestMapping注解是Spring MVC的注解夕玩。(它們不是Spring Boot特有的你弦。)有關(guān)更多詳細(xì)信息,請(qǐng)參閱Spring參考文檔中的MVC部分燎孟。

這段話的意思是要想會(huì)用web還要學(xué)Spring MVC里面的知識(shí)

@EnableAutoConfiguration注解

第二個(gè)類級(jí)注解是@EnableAutoConfiguration禽作。這個(gè)注解告訴Spring Boot根據(jù)你添加的jar依賴關(guān)系“猜測(cè)”你想要如何配置Spring。自從spring-boot-starter-web添加了Tomcat和Spring MVC 以來(lái)缤弦,自動(dòng)配置假定您正在開發(fā)Web應(yīng)用程序并相應(yīng)地設(shè)置Spring领迈。

啟動(dòng)器和自動(dòng)配置

自動(dòng)配置旨在與“啟動(dòng)器”配合使用,但這兩個(gè)概念并不直接相關(guān)碍沐。您可以自由選擇并在starter依賴之外的jar依賴項(xiàng)。同時(shí)Spring Boot仍然盡力自動(dòng)配置您的應(yīng)用程序衷蜓。

“主”方法

我們的應(yīng)用程序的最后一部分是main方法累提。這只是遵循應(yīng)用程序入口點(diǎn)的Java約定的標(biāo)準(zhǔn)方法。我們的main方法SpringApplication通過(guò)調(diào)用委托給Spring Boot的類run磁浇。 SpringApplication引導(dǎo)我們的應(yīng)用程序斋陪,啟動(dòng)Spring,然后啟動(dòng)自動(dòng)配置的Tomcat Web服務(wù)器。我們需要Example.class作為參數(shù)傳遞給run方法无虚,以告訴SpringApplication哪個(gè)是主要的Spring組件缔赠。該 args數(shù)組也被傳遞以公開任何命令行參數(shù)。

運(yùn)行示例

此時(shí)友题,您的應(yīng)用程序應(yīng)該工作嗤堰。由于您使用了 spring-boot-starter-parent POM,run因此您可以使用一個(gè)有用的目標(biāo)來(lái)啟動(dòng)應(yīng)用程序度宦。mvn spring-boot:run從根項(xiàng)目目錄中鍵入以啟動(dòng)應(yīng)用程序踢匣。您應(yīng)該看到類似于以下內(nèi)容的輸出:

$ mvn spring-boot:run

運(yùn)行圖

如果您打開Web瀏覽器訪問(wèn) localhost:8080,您應(yīng)該看到以下輸出:

Hello World!

要正常退出應(yīng)用程序戈抄,請(qǐng)按組合按鍵 ctrl-c离唬。

創(chuàng)建一個(gè)可執(zhí)行的Jar

我們通過(guò)創(chuàng)建一個(gè)完全自包含的可執(zhí)行jar文件來(lái)完成我們的示例,我們可以在生產(chǎn)中運(yùn)行它划鸽∈漭海可執(zhí)行jar(有時(shí)稱為“fat jar”)是包含已編譯類以及代碼需要運(yùn)行的所有jar依賴項(xiàng)的歸檔。

可執(zhí)行的jar和Java

Java沒有提供加載嵌套jar文件的標(biāo)準(zhǔn)方法(jar文件本身包含在jar中)裸诽。如果您要分發(fā)自包含的應(yīng)用程序模闲,這可能會(huì)有問(wèn)題。

為了解決這個(gè)問(wèn)題崭捍,許多開發(fā)人員使用“超級(jí)”罐子尸折。uber jar將所有應(yīng)用程序依賴項(xiàng)中的所有類打包到一個(gè)存檔中。這種方法的問(wèn)題在于很難看出您的應(yīng)用程序中有哪些庫(kù)殷蛇。如果在多個(gè)罐子中使用相同的文件名(但具有不同的內(nèi)容)实夹,也可能會(huì)有問(wèn)題。

Spring Boot采用不同的方法粒梦,讓您直接嵌套jar亮航。

要?jiǎng)?chuàng)建可執(zhí)行jar,我們需要添加spring-boot-maven-plugin到我們的 pom.xml匀们。為此缴淋,請(qǐng)?jiān)谠揹ependencies部分下方插入以下行:

<build>

? ? <plugins>

? ? ? ? <plugin>

? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? ? ? <artifactId>spring-boot-maven-plugin</artifactId>

? ? ? ? </plugin>

? ? </plugins>

</build>

所述spring-boot-starter-parent POM包括<executions>配置以結(jié)合repackage目標(biāo)。如果您不使用父POM泄朴,則需要自己聲明此配置重抖。有關(guān)詳細(xì)信息,請(qǐng)參閱插件文檔祖灰。

保存pom.xml并從命令行運(yùn)行mvn package钟沛,如下所示:

$ mvn package

[INFO] Scanning for projects...

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building myproject 0.0.1-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO] .... ..

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---

[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar

[INFO]

[INFO] --- spring-boot-maven-plugin:2.1.6.RELEASE:repackage (default) @ myproject ---

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

如果你查看target目錄,你應(yīng)該看到myproject-0.0.1-SNAPSHOT.jar局扶。該文件大小應(yīng)為10 MB左右恨统。如果你想偷看內(nèi)部叁扫,你可以使用jar tvf,如下:

$ jar tvf target / myproject-0.0.1-SNAPSHOT.jar

您還應(yīng)該看到目錄中命名myproject-0.0.1-SNAPSHOT.jar.original的文件小得多target畜埋。這是Maven在Spring Boot重新打包之前創(chuàng)建的原始jar文件莫绣。

要運(yùn)行該應(yīng)用程序,請(qǐng)使用以下java -jar命令:

$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

運(yùn)行圖

和以前一樣悠鞍,要退出應(yīng)用程序对室,請(qǐng)按ctrl-c。

返回主頁(yè)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狞玛,一起剝皮案震驚了整個(gè)濱河市软驰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌心肪,老刑警劉巖锭亏,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異硬鞍,居然都是意外死亡慧瘤,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門固该,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)锅减,“玉大人,你說(shuō)我怎么就攤上這事伐坏≌唬” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵桦沉,是天一觀的道長(zhǎng)每瞒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)纯露,這世上最難降的妖魔是什么剿骨? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮埠褪,結(jié)果婚禮上浓利,老公的妹妹穿的比我還像新娘。我一直安慰自己钞速,他們只是感情好贷掖,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玉工,像睡著了一般羽资。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遵班,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天屠升,我揣著相機(jī)與錄音,去河邊找鬼狭郑。 笑死腹暖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的翰萨。 我是一名探鬼主播脏答,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼亩鬼!你這毒婦竟也來(lái)了殖告?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤雳锋,失蹤者是張志新(化名)和其女友劉穎黄绩,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玷过,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爽丹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辛蚊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粤蝎。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖袋马,靈堂內(nèi)的尸體忽然破棺而出初澎,到底是詐尸還是另有隱情,我是刑警寧澤虑凛,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布碑宴,位于F島的核電站,受9級(jí)特大地震影響卧檐,放射性物質(zhì)發(fā)生泄漏墓懂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一霉囚、第九天 我趴在偏房一處隱蔽的房頂上張望捕仔。 院中可真熱鬧,春花似錦盈罐、人聲如沸榜跌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钓葫。三九已至,卻和暖如春票顾,著一層夾襖步出監(jiān)牢的瞬間础浮,已是汗流浹背帆调。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豆同,地道東北人番刊。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像影锈,于是被迫代替她去往敵國(guó)和親芹务。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351