国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

@Value竟然能玩出這么多花樣

共 14068字,需瀏覽 29分鐘

 ·

2022-06-21 14:44

大家好,我是蘇三,又跟大家見(jiàn)面了。

前言

對(duì)于從事java開(kāi)發(fā)工作的小伙伴來(lái)說(shuō),spring框架肯定再熟悉不過(guò)了。spring給開(kāi)發(fā)者提供了非常豐富的api,滿(mǎn)足我們?nèi)粘5墓ぷ餍枨蟆?/p>

如果想要?jiǎng)?chuàng)建bean實(shí)例,可以使用@Controller、@Service、@Repository、@Component等注解。

如果想要依賴(lài)注入某個(gè)對(duì)象,可以使用@Autowired和@Resource注解。

如果想要開(kāi)啟事務(wù),可以使用@Transactional注解。

如果想要?jiǎng)討B(tài)讀取配置文件中的某個(gè)系統(tǒng)屬性,可以使用@Value注解。

等等,還有很多。。。

前面幾種常用的注解,在我以往的文章《@Autowired的這些騷操作,你都知道嗎?》《聊聊spring事務(wù)失效的12種場(chǎng)景,太坑了》《驚呆了,spring中竟然有12種定義bean的方法》中已經(jīng)介紹過(guò)了,在這里就不過(guò)多講解了。

今天咱們重點(diǎn)聊聊@Value注解,因?yàn)樗且粋€(gè)非常有用,但極其容易被忽視的注解,絕大多數(shù)人可能只用過(guò)它的一部分功能,這是一件非常遺憾的事情。

所以今天有必要和大家一起,重新認(rèn)識(shí)一下@Value。

1. 由一個(gè)例子開(kāi)始

假如在UserService類(lèi)中,需要注入系統(tǒng)屬性到userName變量中。通常情況下,我們會(huì)寫(xiě)出如下的代碼:

@Service
public class UserService {

    @Value("${susan.test.userName}")
    private String userName;

    public String test() {
        System.out.println(userName);
        return userName;
    }
}

通過(guò)@Value注解指定系統(tǒng)屬性的名稱(chēng)susan.test.userName,該名稱(chēng)需要使用${}包起來(lái)。

這樣spring就會(huì)自動(dòng)的幫我們把對(duì)應(yīng)的系統(tǒng)屬性值,注入到userName變量中。

不過(guò),上面功能的重點(diǎn)是要在applicationContext.properties文件(簡(jiǎn)稱(chēng):配置文件)中配置同名的系統(tǒng)屬性:

#張三
susan.test.userName=\u5f20\u4e09

那么,名稱(chēng)真的必須完全相同嗎?

2. 關(guān)于屬性名

這時(shí)候,有些朋友可能會(huì)說(shuō):在@ConfigurationProperties配置類(lèi)中,定義的參數(shù)名可以跟配置文件中的系統(tǒng)屬性名不同。

比如,在配置類(lèi)MyConfig類(lèi)中定義的參數(shù)名是userName:

@Configuration
@ConfigurationProperties(prefix = "susan.test")
@Data
public class MyConfig {
    private String userName;
}

而配置文件中配置的系統(tǒng)屬性名是:

susan.test.user-name=\u5f20\u4e09

類(lèi)中用的userName,而配置文件中用的user-name,不一樣。但測(cè)試之后,發(fā)現(xiàn)該功能能夠正常運(yùn)行。

配置文件中的系統(tǒng)屬性名用 駝峰標(biāo)識(shí)小寫(xiě)字母加中劃線(xiàn)的組合,spring都能找到配置類(lèi)中的屬性名userName進(jìn)行賦值。

由此可見(jiàn),配置文件中的系統(tǒng)屬性名,可以跟配置類(lèi)中的屬性名不一樣。不過(guò),有個(gè)前提,前綴susan.test必須相同。

那么,@Value注解中定義的系統(tǒng)屬性名也可以不一樣嗎?

答案:不能。如果不一樣,啟動(dòng)項(xiàng)目時(shí)會(huì)直接報(bào)錯(cuò)。

此外,如果只在@Value注解中指定了系統(tǒng)屬性名,但實(shí)際在配置文件中沒(méi)有配置它,也會(huì)報(bào)跟上面一樣的錯(cuò)。

所以,@Value注解中指定的系統(tǒng)屬性名,必須跟配置文件中的相同。

3. 亂碼問(wèn)題

不知道細(xì)心的小伙伴們有沒(méi)有發(fā)現(xiàn),我配置的屬性值:張三,其實(shí)是轉(zhuǎn)義過(guò)的。

susan.test.userName=\u5f20\u4e09

為什么要做這個(gè)轉(zhuǎn)義?

假如在配置文件中配置中文的張三:

susan.test.userName=張三

最后獲取數(shù)據(jù)時(shí),你會(huì)發(fā)現(xiàn)userName竟然出現(xiàn)了亂碼:

?? ???

what?

為什么會(huì)出現(xiàn)亂碼?

答:在springboot的CharacterReader類(lèi)中,默認(rèn)的編碼格式是ISO-8859-1,該類(lèi)負(fù)責(zé).properties文件中系統(tǒng)屬性的讀取。如果系統(tǒng)屬性包含中文字符,就會(huì)出現(xiàn)亂碼。

那么,如何解決亂碼問(wèn)題呢?

目前主要有如下三種方案:

  1. 手動(dòng)將ISO-8859-1格式的屬性值,轉(zhuǎn)換成UTF-8格式。
  2. 設(shè)置encoding參數(shù),不過(guò)這個(gè)只對(duì)@PropertySource注解有用。
  3. 將中文字符用unicode編碼轉(zhuǎn)義。

顯然@Value不支持encoding參數(shù),所以方案2不行。

假如使用方案1,具體實(shí)現(xiàn)代碼如下:

@Service
public class UserService {

    @Value(value = "${susan.test.userName}")
    private String userName;

    public String test() {
        String userName1 = new String(userName.getBytes(StandardCharsets.ISO_8859_1), StandardCharsets.UTF_8);
        System.out.println();
        return userName1;
    }
}

確實(shí)可以解決亂碼問(wèn)題。

但如果項(xiàng)目中包含大量中文系統(tǒng)屬性值,每次都需要加這樣一段特殊轉(zhuǎn)換代碼。出現(xiàn)大量重復(fù)代碼,有沒(méi)有覺(jué)得有點(diǎn)惡心?

反轉(zhuǎn)我被惡心到了。

那么,如何解決代碼重復(fù)問(wèn)題呢?

答:將屬性值的中文內(nèi)容轉(zhuǎn)換成unicode。

類(lèi)似于這樣的:

susan.test.userName=\u5f20\u4e09

這種方式同樣能解決亂碼問(wèn)題,不會(huì)出現(xiàn)惡心的重復(fù)代碼。但需要做一點(diǎn)額外的轉(zhuǎn)換工作,不過(guò)這個(gè)轉(zhuǎn)換非常容易,因?yàn)橛鞋F(xiàn)成的在線(xiàn)轉(zhuǎn)換工具。

推薦使用這個(gè)工具轉(zhuǎn)換:http://www.jsons.cn/unicode/

在這里順便告訴你一個(gè)小秘密:如果你使用的是.yml.yaml格式的配置文件,并不會(huì)出現(xiàn)中文亂碼問(wèn)題。

這又是為什么?

因?yàn)?yml或.yaml格式的配置文件,最終會(huì)使用UnicodeReader類(lèi)進(jìn)行解析,它的init方法中,首先讀取BOM文件頭信息,如果頭信息中有UTF8、UTF16BE、UTF16LE,就采用對(duì)應(yīng)的編碼,如果沒(méi)有,則采用默認(rèn)UTF8編碼。

需要注意的是:亂碼問(wèn)題一般出現(xiàn)在本地環(huán)境,因?yàn)楸镜刂苯幼x取的.properties配置文件。在dev、test、生產(chǎn)等環(huán)境,如果從zookeeper、apollo、nacos等配置中心中獲取系統(tǒng)參數(shù)值,走的是另外的邏輯,并不會(huì)出現(xiàn)亂碼問(wèn)題。

4.默認(rèn)值

有時(shí)候,默認(rèn)值是我們非常頭疼的問(wèn)題。

為什么這樣說(shuō)呢?

因?yàn)楹芏鄷r(shí)候使用java的默認(rèn)值,并不能滿(mǎn)足我們的日常工作需求。

比如有這樣一個(gè)需求:如果配置了系統(tǒng)屬性,userName就用配置的屬性值。如果沒(méi)有配置,則userName用默認(rèn)值susan。

有些朋友可能認(rèn)為可以這樣做:

@Value(value = "${susan.test.userName}")
private String userName = "susan";

在定義參數(shù)時(shí)直接給個(gè)默認(rèn)值,但如果仔細(xì)想想這招是行不通的的。因?yàn)樵O(shè)置userName默認(rèn)值的時(shí)機(jī),比@Value注解依賴(lài)注入屬性值要早,也就是說(shuō)userName初始化好了默認(rèn)值,后面還是會(huì)被覆蓋。

那么,到底該如何設(shè)置默認(rèn)值呢?

答:使用:

例如:

@Value(value = "${susan.test.userName:susan}")
private String userName;

在需要設(shè)置默認(rèn)值的系統(tǒng)屬性名后,加:符號(hào)。緊接著,在:右邊設(shè)置默認(rèn)值。

建議大家平時(shí)在使用@Value時(shí),盡量都設(shè)置一個(gè)默認(rèn)值。如果不需要默認(rèn)值,寧可設(shè)置一個(gè)空。比如:

@Value(value = "${susan.test.userName:}")
private String userName;

為什么這么說(shuō)?

假如有這種場(chǎng)景:在business層中包含了UserService類(lèi),business層被api服務(wù)和job服務(wù)都引用了。但UserService類(lèi)中@Value的userName只在api服務(wù)中有用,在job服務(wù)中根本用不到該屬性。

對(duì)于job服務(wù)來(lái)說(shuō),如果不在.properties文件中配置同名的系統(tǒng)屬性,則服務(wù)啟動(dòng)時(shí)就會(huì)報(bào)錯(cuò)。

這個(gè)坑,我之前踩過(guò)多次。所以,建議大家,使用@Value注解時(shí),最好給參數(shù)設(shè)置一個(gè)默認(rèn)值,以防止出現(xiàn)類(lèi)似的問(wèn)題。

5. static變量

前面我們已經(jīng)見(jiàn)識(shí)過(guò),如何使用@Value注解,給類(lèi)的成員變量注入系統(tǒng)屬性值。

那么,問(wèn)題來(lái)了,靜態(tài)變量可以自動(dòng)注入系統(tǒng)屬性值不?

我們一起看看,假如將上面的userName定義成static的:

@Value("${susan.test.userName}")
private static String userName;

程序可以正常啟動(dòng),但是獲取到userName的值卻是null。

由此可見(jiàn),被static修飾的變量通過(guò)@Value會(huì)注入失敗。

作為好奇寶寶的你,此時(shí)肯定想問(wèn):如何才能給靜態(tài)變量注入系統(tǒng)屬性值呢?

答:這就需要使用如下的騷代碼了:

@Service
public class UserService {

    private static String userName;

    @Value("${susan.test.userName}")
    public void setUserName(String userName) {
        UserService.userName = userName;
    }

    public String test() {
        return userName;
    }
}

提供一個(gè)靜態(tài)參數(shù)的setter方法,在該方法上使用@Value注入屬性值,并且同時(shí)在該方法中給靜態(tài)變量賦值。

有些細(xì)心的朋友可能會(huì)發(fā)現(xiàn),@Value注解在這里竟然使用在setUserName方法上了,也就是對(duì)應(yīng)的setter方法,而不是在變量上。

有趣,有趣,這種用法有點(diǎn)高端喔。

不過(guò),通常情況下,我們一般會(huì)在pojo實(shí)體類(lèi)上,使用lombok的@Data、@Setter、@Getter等注解,在編譯時(shí)動(dòng)態(tài)增加setter或getter方法,所以@Value用在方法上的場(chǎng)景其實(shí)不多。

6.變量類(lèi)型

上面的內(nèi)容,都是用的字符串類(lèi)型的變量進(jìn)行舉例的。其實(shí),@Value注解還支持其他多種類(lèi)型的系統(tǒng)屬性值的注入。

6.1 基本類(lèi)型

眾所周知,在Java中的基本數(shù)據(jù)類(lèi)型有4類(lèi)8種,然我們一起回顧一下:

  • 整型:byte、short、int、long
  • 浮點(diǎn)型:float、double
  • 布爾型:boolean
  • 字符型:char

相對(duì)應(yīng)地提供了8種包裝類(lèi):

  • 整型:Byte、Short、Integer、Long
  • 浮點(diǎn)型:Float、Double
  • 布爾型:Boolean
  • 字符型:Character

@Value注解對(duì)這8中基本類(lèi)型和相應(yīng)的包裝類(lèi),有非常良好的支持,例如:

@Value("${susan.test.a:1}")
private byte a;

@Value("${susan.test.b:100}")
private short b;

@Value("${susan.test.c:3000}")
private int c;

@Value("${susan.test.d:4000000}")
private long d;

@Value("${susan.test.e:5.2}")
private float e;

@Value("${susan.test.f:6.1}")
private double f;

@Value("${susan.test.g:false}")
private boolean g;

@Value("${susan.test.h:h}")
private char h;

@Value("${susan.test.a:1}")
private byte a1;

@Value("${susan.test.b:100}")
private Short b1;

@Value("${susan.test.c:3000}")
private Integer c1;

@Value("${susan.test.d:4000000}")
private Long d1;

@Value("${susan.test.e:5.2}")
private Float e1;

@Value("${susan.test.f:6.1}")
private Double f1;

@Value("${susan.test.g:false}")
private Boolean g1;

@Value("${susan.test.h:h}")
private Character h1;

有了這些常用的數(shù)據(jù)類(lèi)型,我們?cè)诙x變量類(lèi)型時(shí),可以非常愉快的玩耍了,不用做額外的轉(zhuǎn)換。

6.2 數(shù)組

但只用上面的基本類(lèi)型是不夠的,特別是很多需要批量處理數(shù)據(jù)的場(chǎng)景中。這時(shí)候可以使用數(shù)組,它在日常開(kāi)發(fā)中使用的頻率很高。

我們?cè)诙x數(shù)組時(shí)可以這樣寫(xiě):

@Value("${susan.test.array:1,2,3,4,5}")
private int[] array;

spring默認(rèn)使用逗號(hào)分隔參數(shù)值。

如果用空格分隔,例如:

@Value("${susan.test.array:1 2 3 4 5}")
private int[] array;

spring會(huì)自動(dòng)把空格去掉,導(dǎo)致數(shù)據(jù)中只有一個(gè)值:12345,注意千萬(wàn)別搞錯(cuò)了。

順便說(shuō)一下,定義數(shù)組的時(shí)候,里面還是有挺多門(mén)道的。比如上面列子中,我的數(shù)據(jù)是:1,2,3,4,5。

如果我們把數(shù)組定義成:short、int、long、char、string類(lèi)型,spring是可以正常注入屬性值的。

但如果把數(shù)組定義成:float、double類(lèi)型,啟動(dòng)項(xiàng)目時(shí)就會(huì)直接報(bào)錯(cuò)。

小伙伴們,下巴驚掉了沒(méi)?

按理說(shuō),1,2,3,4,5用float、double是能夠表示的呀,為什么會(huì)報(bào)錯(cuò)?

如果使用int的包裝類(lèi),比如:

@Value("${susan.test.array:1,2,3,4,5}")
private Integer[] array;

啟動(dòng)項(xiàng)目時(shí)同樣會(huì)報(bào)上面的異常。

此外,定義數(shù)組時(shí)一定要注意屬性值的類(lèi)型,必須完全一致才可以,如果出現(xiàn)下面這種情況:

@Value("${susan.test.array:1.0,abc,3,4,5}")
private int[] array;

屬性值中包含了1.0和abc,顯然都無(wú)法將該字符串轉(zhuǎn)換成int。

6.3 集合類(lèi)

有了基本類(lèi)型和數(shù)組,的確讓我們更加方便了。但對(duì)數(shù)據(jù)的處理,只用數(shù)組這一種數(shù)據(jù)結(jié)構(gòu)是遠(yuǎn)遠(yuǎn)不夠的,下面給大家介紹一下其他的常用數(shù)據(jù)結(jié)構(gòu)。

6.3.1 List

List是數(shù)組的變種,它的長(zhǎng)度是可變的,而數(shù)組的長(zhǎng)度是固定的。

我們看看List是如何注入屬性值的:

@Value("${susan.test.list}")
private List<String> list;

最關(guān)鍵的是看配置文件:

susan.test.list[0]=10
susan.test.list[1]=11
susan.test.list[2]=12
susan.test.list[3]=13

當(dāng)你滿(mǎn)懷希望的啟動(dòng)項(xiàng)目,準(zhǔn)備使用這個(gè)功能的時(shí)候,卻發(fā)現(xiàn)竟然報(bào)錯(cuò)了。

what?

看來(lái)@Value不支持這種直接的List注入。

那么,如何解決這個(gè)問(wèn)題呢?

有人說(shuō)用@ConfigurationProperties。

需要定義一個(gè)MyConfig類(lèi):

@Configuration
@ConfigurationProperties(prefix = "susan.test")
@Data
public class MyConfig {
    private List<String> list;
}

然后在調(diào)用的地方這樣寫(xiě):

@Service
public class UserService {

    @Autowired
    private MyConfig myConfig;

    public String test() {
        System.out.println(myConfig.getList());
        return null;
    }
}

這種方法確實(shí)能夠完成List注入。但是,只能說(shuō)明@ConfigurationProperties注解的強(qiáng)大,跟@Value有半毛錢(qián)的關(guān)系?

答:沒(méi)有。

那么,問(wèn)題來(lái)了,用@Value如何實(shí)現(xiàn)這個(gè)功能呢?

答:使用spring的EL表達(dá)式。

List的定義改成:

@Value("#{'${susan.test.list}'.split(',')}")
private List<String> list;

使用#號(hào)加大括號(hào)的EL表達(dá)式。

然后配置文件改成:

susan.test.list=10,11,12,13

跟定義數(shù)組時(shí)的配置文件一樣。

6.3.2 Set

Set也是一種保存數(shù)據(jù)的集合,它比較特殊,里面保存的數(shù)據(jù)不會(huì)重復(fù)。

我們可以這樣定義Set:

@Value("#{'${susan.test.set}'.split(',')}")
private Set<String> set;

配置文件是這樣的:

susan.test.set=10,11,12,13

Set跟List的用法極為相似。

但為了證明本節(jié)的獨(dú)特之處,我打算說(shuō)點(diǎn)新鮮的內(nèi)容。

如何給List或者Set設(shè)置默認(rèn)值空呢?

有些朋友可能會(huì)說(shuō):這還不簡(jiǎn)單,直接在@Value的$表達(dá)式后面加個(gè):號(hào)不就行了。

具體代碼如下:

@Value("#{'${susan.test.set:}'.split(',')}")
private Set<String> set;

結(jié)果卻跟想象中不太一樣:Set集合怎么不是空的,而是包含了一個(gè)空字符串的集合?

好吧,那我在:號(hào)后加null,總可以了吧?Set集合也不是空的,而是包含了一個(gè)"null"字符串的集合。

這也不行,那也不行,該如何是好?

答:使用EL表達(dá)式的empty方法。

具體代碼如下:

@Value("#{'${susan.test.set:}'.empty ? null : '${susan.test.set:}'.split(',')}")
private Set<String> set;

運(yùn)行之后,結(jié)果對(duì)了:

其實(shí)List也有類(lèi)似的問(wèn)題,也能使用該方法解決問(wèn)題。

在這里溫馨的提醒一下,該判斷的表達(dá)式比較復(fù)雜,自己手寫(xiě)非常容易寫(xiě)錯(cuò),建議復(fù)制粘貼之后根據(jù)實(shí)際需求改改。

6.3.3 Map

還有一種比較常用的集合是map,它支持key/value鍵值對(duì)的形式保存數(shù)據(jù),并且不會(huì)出現(xiàn)相同key的數(shù)據(jù)。

我們可以這樣定義Map:

@Value("#{${susan.test.map}}")
private Map<String, String> map;

配置文件是這樣的:

susan.test.map={"name":"蘇三""age":"18"}

這種用法跟上面稍微有一點(diǎn)區(qū)別。

設(shè)置默認(rèn)值的代碼如下:

@Value("#{'${susan.test.map:}'.empty ? null : '${susan.test.map:}'}")
private Map<String, String> map;

7 EL高端玩法

前面我們已經(jīng)見(jiàn)識(shí)過(guò)spring EL表達(dá)式的用法了,在設(shè)置空的默認(rèn)值時(shí)特別有用。

其實(shí),empty方法只是它很普通的用法,還有更高端的用法,不信我們一起看看。

7.1 注入bean

以前我們注入bean,一般都是用的@Autowired或者@Resource注解。例如:

@Service
public class RoleService {
    public String getRoleName() {
        return "管理員";
    }
}

@Service
public class UserService {

    @Autowired
    private RoleService roleService;

    public String test() {
        System.out.println(roleService.getRoleName());
        return null;
    }
}

但我要告訴你的是@Value注解也可以注入bean,它是這么做的:

@Value("#{roleService}")
private RoleService roleService;

通過(guò)這種方式,可以注入id為roleService的bean。

7.2 bean的變量和方法

通過(guò)EL表達(dá)式,@Value注解已經(jīng)可以注入bean了。既然能夠拿到bean實(shí)例,接下來(lái),可以再進(jìn)一步。

在RoleService類(lèi)中定義了:成員變量、常量、方法、靜態(tài)方法。

@Service
public class RoleService {
    public static final int DEFAULT_AGE = 18;
    public int id = 1000;

    public String getRoleName() {
        return "管理員";
    }

    public static int getParentId() {
        return 2000;
    }
}

在調(diào)用的地方這樣寫(xiě):

@Service
public class UserService {

    @Value("#{roleService.DEFAULT_AGE}")
    private int myAge;

    @Value("#{roleService.id}")
    private int id;

    @Value("#{roleService.getRoleName()}")
    private String myRoleName;

    @Value("#{roleService.getParentId()}")
    private String myParentId;

    public String test() {
        System.out.println(myAge);
        System.out.println(id);
        System.out.println(myRoleName);
        System.out.println(myParentId);
        return null;
    }
}

在UserService類(lèi)中通過(guò)@Value可以注入:成員變量、常量、方法、靜態(tài)方法獲取到的值,到相應(yīng)的成員變量中。

一下子有沒(méi)有豁然開(kāi)朗的感覺(jué),有了這些,我們可以通過(guò)@Value注解,實(shí)現(xiàn)更多的功能了,不僅僅限于注入系統(tǒng)屬性。

7.3 靜態(tài)類(lèi)

前面的內(nèi)容都是基于bean的,但有時(shí)我們需要調(diào)用靜態(tài)類(lèi),比如:Math、xxxUtil等靜態(tài)工具類(lèi)的方法,該怎么辦呢?

答:用T加括號(hào)。

示例1:

@Value("#{T(java.io.File).separator}")
private String path;

可以注入系統(tǒng)的路徑分隔符到path中。

示例2:

@Value("#{T(java.lang.Math).random()}")
private double randomValue;

可以注入一個(gè)隨機(jī)數(shù)到randomValue中。

7.4 邏輯運(yùn)算

通過(guò)上面介紹的內(nèi)容,我們可以獲取到絕大多數(shù)類(lèi)的變量和方法的值了。但有了這些值,還不夠,我們能不能在EL表達(dá)式中加點(diǎn)邏輯?

拼接字符串:

@Value("#{roleService.roleName + '' + roleService.DEFAULT_AGE}")
private String value;

邏輯判斷:

@Value("#{roleService.DEFAULT_AGE > 16 and roleService.roleName.equals('蘇三')}")
private String operation;

三目運(yùn)算:

@Value("#{roleService.DEFAULT_AGE > 16 ? roleService.roleName: '蘇三' }")
private String realRoleName;

還有很多很多功能,我就不一一列舉了。

EL表達(dá)式實(shí)在太強(qiáng)大了,對(duì)這方面如果感興趣的小伙伴可以找我私聊。

8 ${}和#{}的區(qū)別

上面巴拉巴拉說(shuō)了這么多@Value的牛逼用法,歸根揭底就是${}#{}的用法。

下面重點(diǎn)說(shuō)說(shuō)${}和#{}的區(qū)別,這可能是很多小伙伴比較關(guān)心的話(huà)題。

8.1 ${}

主要用于獲取配置文件中的系統(tǒng)屬性值。

例如:

@Value(value = "${susan.test.userName:susan}")
private String userName;

通過(guò):可以設(shè)置默認(rèn)值。如果在配置文件中找不到susan.test.userName的配置,則注入時(shí)用默認(rèn)值。

如果在配置文件中找不到susan.test.userName的配置,也沒(méi)有設(shè)置默認(rèn)值,則啟動(dòng)項(xiàng)目時(shí)會(huì)報(bào)錯(cuò)。

8.2 #{}

主要用于通過(guò)spring的EL表達(dá)式,獲取bean的屬性,或者調(diào)用bean的某個(gè)方法。還有調(diào)用類(lèi)的靜態(tài)常量和靜態(tài)方法。

@Value("#{roleService.DEFAULT_AGE}")
private int myAge;

@Value("#{roleService.id}")
private int id;

@Value("#{roleService.getRoleName()}")
private String myRoleName;

@Value("#{T(java.lang.Math).random()}")
private double randomValue;

如果是調(diào)用類(lèi)的靜態(tài)方法,則需要加T(包名 + 方法名稱(chēng))。

例如:T(java.lang.Math)。

好了,今天的內(nèi)容就介紹到這里,希望對(duì)你會(huì)有所幫助。

課程推薦

課程:《Java進(jìn)階:Web開(kāi)發(fā)實(shí)戰(zhàn)》

講師:顏群

課程介紹:本視頻課程將系統(tǒng)學(xué)習(xí)Java Web基礎(chǔ)知識(shí)及常用功能,通過(guò)包含JSP/Servlet/上傳/下載/分頁(yè)/MVC/三層架構(gòu)等知識(shí)講解來(lái)進(jìn)行Web網(wǎng)站開(kāi)發(fā),將所學(xué)知識(shí)點(diǎn)及常用功能進(jìn)行串聯(lián),逐步深入、加深記憶,最終達(dá)成Java Web小白入門(mén)Web網(wǎng)站開(kāi)發(fā)!

課程特點(diǎn):

1.每個(gè)章節(jié)大概15分鐘左右。

2.建議堅(jiān)持每天抽出2-3小時(shí)進(jìn)行學(xué)習(xí),22天完成Javaweb的學(xué)習(xí)

3.該課程采用視頻教學(xué)模式,通過(guò)多個(gè)知識(shí)層面進(jìn)行講解,幫助小伙伴輕松更好的學(xué)習(xí)JavaWeb開(kāi)發(fā)。

4.有一定基礎(chǔ)java編程基礎(chǔ)的學(xué)員學(xué)習(xí)web開(kāi)發(fā),只需學(xué)完本課程即可。

學(xué)習(xí)方式:掃碼 ↓ 立即前往課程界面

點(diǎn)擊閱讀原文,立即前往課程界面~
瀏覽 31
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評(píng)論
圖片
表情
推薦
點(diǎn)贊
評(píng)論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 久久福利视频导航| 大地99中文在线观看| 高清无码内射视频| 欧美色视频在线观| 欧美丰满人妻免费视频人| 青青青国产| 婷婷五月天啪啪| 五月天丁香婷婷视频| 一级片在线| 强辱丰满人妻HD中文字幕| 色婷婷国产精品| 中文字幕+乱码+中文乱码91在线观看 | 高清无码第一页| 日本久久婷婷| 超碰人人操| 五月婷婷在线播放| 久久亚洲免费视频| 久久av综合| AV无码免费一区二区三区不卡| 国精品无码人妻一区二区三区| 91在线无码精品秘网站| 大香蕉伊人久久| 天天综合国产| 午夜成人鲁丝片午夜精品| 国产成人无码一区二区在线观看| 91精品国产亚洲| 日本视频一区二区三区| 激情色色| 91探花视频在线观看| 男人视频网站| 欧美性生活视频| 女人特级毛片18| 亚洲日韩一区二区| 三级片麻豆| 欧美性BBB槡BBB槡BBB| 久久A视频| 欧美成人一区二区| 91视频观看| 天天摸天天操| 日韩中文字幕有码| 无码人妻精品一区二区三千菊电影| 嫩草视频网站| 丁香五月婷婷啪啪| 日本中文字幕中文翻译歌词| 中文字幕av免费在线观看| 撸一撸成人在线做爱视频。| 精品在线免费视频| 台湾成人视频| 京熱大亂交无碼大亂交| 人妻少妇综合| 苍井空精毛片精品久久久| 亚洲va在线∨a天堂va欧美va| 欧美一区二区在线| 中文字幕AV在线观看| 91网站免费观看| 午夜AV电影| 国产女人18毛片水18精品软件| MAD033_后宫秘密陶子.| 胖老板办公室沙发无套爆秘书| 肏屄网站| 刘玥91精品一区二区三区| 欧美黄视频| 91人妻人人爽| 特级西西444www高清| 91精品网站| 北京熟妇槡BBBB槡BBBB| 久操视频免费| 亚洲国产视频一区| 日韩无码波多野结衣| 亚洲成人怡红院| 女神思瑞精品一区二区三区 | 另类老妇奶BBBBwBB| 在线天堂19| 成人理伦A级A片在线论坛| 日日舔| 操B国产| 国产一区二区免费在线观看| 国产小视频免费在线观看| 2025四虎在线视频观看| 日韩群交| 欧美日韩三级| av无码在线观看| 黑人无码视频| www.高清无码| 在线观看者亚洲| 黄色影片在线观看| 国产黄色精品视频| 97午夜| 91老熟女视频| WWWA片| 亚洲视频高清无码| 五月天亚洲色图| 最新黄色av| 国产一区二区三区四区在线观看| 亚洲Av无码午夜国产精品色软件 | 神马午夜av| 91外围女视频| 成年人在线观看视频| 久久免费高清视频| 国产福利视频在线| 三级视频网站| 一级片在线播放| 久热中文字幕| 一级A片免费看| 四房婷婷| 狠狠干综合| 青春草在线观看| 亚洲精品区| 国产综合久久| 福利二区| 一区二区三区在线播放| 影音先锋成人资源AV在线观看| 日韩综合在线| 91玖玖| 日本无码人妻| 亚洲日韩中文字幕| 亚洲色情电影| 国产欧美日韩| 国产在线不卡年轻点的| 神马午夜av| 日本中出视频| 粉嫩一区二区三区四区| 国产一级二级三级视频| 1024手机在线观看| 国产精品色哟哟| 亚洲AV久久无码| 中文字幕成人免费视频| av手机天堂网| 懂色av懂色av粉嫩av| 蜜臀AV一区二区| 久久不射网站| 大香蕉天天操| 中文字幕成人无码| 9999国产精品| 青春草在线观看国产| 91在线免费视频观看| 亚洲AV成人无码精品直播在线| 九九精品久久| 天天做天天爱天天爽| 亚洲av观看| 日本黄色电影网址| 超碰自拍| 日韩欧美不卡色不卡| 91免费观看国产| 国产精品视频瘾无码| 91一区二区在线观看| 日本一区二区视频在线观看| 另类aV| 91高清无码视频| 亚洲日韩在线中文字幕| 精品孕妇一区二区三区| 成人做爰A片免费看网站| 伊人网大香| 日韩高清一区二区| 欧美日韩操| AV一区二区三区| 国产av探花| 国产51视频| 国产麻豆免费| 免费黄视频在线观看| 羽月希奶水饱胀在线播放| 日日操网| 精品视频无码| 国产精品成人无码| 日本A片在线观看| 成人视频网站18| 亚洲操逼无码| 自拍偷拍1| 18禁看网站| 色天堂污| 高清无码视频观看| 欧美天堂在线观看| 亚洲va国产va天堂va久久| 日韩视频在线免费观看| xxx国产精品| 翔田千里在线一区二区三区| 骚骚肥肥一区二区三区| 久久国产乱子伦精品免费午夜... 国产毛片精品一区二区色欲黄A片 | 啪啪网网站| 在线观看黄色小电影| 99热日韩| 日韩在线视频免费播放| 大香蕉久热| 天天干天天拍| 久久久久久国际四虎免费精品视频| 无码免费视频| 日韩一级无码毛片| 欧美色图自拍| 国产又粗又猛又爽又黄91精品 | 俺来也俺去啦欧美www| 欧美性一区| 成人精品一区日本无码网站suv/| 亚洲狼友视频| 国产精品18禁| 双飞少妇| 青青草资源站| 99插插插| 黄片日逼视频| 无码窝在线观看| 亚州毛片| 详情:绿帽夫妻多人运动开淫啪-91n | 国产91在线拍揄自揄拍无码九色| 一级大片免费看| 中文无码播放| 91.xxxxx| 伊人婷婷色香综合| 天天操视频网站| 无码一区二区高清| 国产精品成人免费久久黄AV片| 欧美亚洲激情| 精品一二三区| 超碰在线日韩| 四房五月婷婷| 久草精品视频| 久久久婷婷婷| 伊人色色视频| 国产女人十八水真多| 爱逼综合网| www.日韩欧美| 色色天堂| 91九色精品女同系列| 男人的天堂aa| 奇米影视狠狠干| 97人人插| 国产Av婬乱麻豆| 国产极品无码| 日韩国产AV| 国产精品91视频| 天天夜夜操操| 成人激情久久| 丁香花中文字幕| 理论片91| 黄色视频网站在线播放| 国产一级片视频| 在线天堂a| 欧美天天性爱| 另类老妇videos另类| 亚洲人妻视频| 91新婚人妻偷拍| 亚洲无码激情视频| 亚洲日韩中字| 91综合网| 91精品91久久久中77777| 四虎日韩| 中文字幕第6页| 江苏妇搡BBBB搡BBBB-百度| 免费看黄片视频| 蜜臀av在线免费观看| 中文字幕第12页| 日韩欧美在线观看视频| 国产精品免费人成网站酒店| 欧美啊啊啊| 一区二区视频在线观看| 2025精品精品视频| 婷婷丁香五月网| 成人精品一区二区三区中文字幕| 日韩一区二区无码| 国产三级黄色片| 美国无码| 无码a区| 老妇性BBWBBWBBWBBW| 国产精品国产三级国产AⅤ| 天天草天天干| 亚洲无码第一页| 少妇熟女视频| 国产av网站大全| 色色无码| 国产精品久久久无码专区| 黑人亚洲娇小videos∞| 日韩免费观看视频| 欧美乱伦视频| 中文免费高清在线| 91人妻最真实刺激绿帽| 日韩av在线免费观看| 苍井空精毛片精品久久久| 嫩BX区二区三区的区别| 国产乱轮视频| 天天操天天操天天操天天| 国产不卡在线视频| 日韩午夜精品| 天天操天天操天天操天天| 翔田千里91| 九色PORNY自拍视频| 亚洲AV无码一区毛片AV| 精品国产久久久久久| 国产在线a| 欧美日韩精品一区二区三区| 乱伦视频91| 翔田千里无码XXXXXX| 久久久久久久三级片| 国产手机拍视频推荐2023| 亚洲精品中文字幕无码| 中文字幕在线播放AV| 婷婷五月国产| 国产精品你懂的| 能看的操逼网站| 免费黄色一级电影| 国产视频久久久| 人人色网站| 在线免费观看亚洲| 无码高清在线观看| 北条麻妃99精品青青久久| 青青草激情| 日韩另类| 青青操成人在线视频| 麻豆国产| 2017天天射| 北条麻妃在线中文字幕| 欧美一级二级三级| 天天日少妇| 伊人激情五月天| 444444免费高清在线观看电视剧的注意| 亚洲中文无码电影| 亚洲一级黄| 一级片国产| 国产精品在线观看视频| 2025AV中文字幕| 天干天干天夜夜| 一级女婬片A片AAAA片| 亚洲无码你懂的| 99久久精品国产一区二区三区| 人人妻人人澡人人爽人人欧美一区| 99精品一区二区三区| 无码爱爱| 久久手机电影| 亚洲尤物在线| 在线观看国产视频| 色哟哟――国产精品| 免费无码进口视频| 搞搞电影91| 伊人精品A片一区二区三区| 91在线精品秘一区二区黄瓜| 国产A∨| 久久少妇视频| 天天综合网久久| 亚洲色图欧美另类| 黄色视频在线观看亚洲一区二区三区免费 | 欧美成人看片黄a免费看| 操碰97| 日韩乱伦网站| 北条麻妃高清无码| 一级黄A片| 国产成人精品av| 91蝌蚪久久| 探花在线综合| 欧美自拍视频| 亚洲白浆| 综合网久久| 亚洲黄色视频在线观看网站| 重庆美女揉BBBB搡BBBB| 亚洲精品日韩综合观看成人91| 亚洲日韩视频在线| 婷婷成人五月天| 伊人看片| 伊人春色网| 高清无码网址| 天堂在线最新资源| 青青草原视频在线| 中文字幕免费视频| 日本一级黄色A片| 91久久精品日日躁夜夜躁国产| 日韩免费高清无码视频| 91人妻人人澡| 99热一区二区三区| 岛国无码在线观看| 九色无码| 操逼视频免费在线观看| 日韩在线观看免| 亚洲人妻无码在线| 亚洲黄片在线| 色色丁香| 神马午夜影院| 成人自拍视频在线观看| 成人网站一区二区| 特极西西444WWW大胆无码| 三级乱伦视频| 欧美成人a| 国产精品v欧美精品v日韩精品| 婷婷免费视频| 中文字幕无码Av在线| 91夫妻视频| 亚洲午夜久久| 中文字幕av无码| 操b视频在线免费观看| 中文字幕乱| 欧美狠狠插| 狠狠干狠狠草| 国产精品国产精品国产专区不52| 黄色片网站| 在线视频一区二区| 99中文字幕| 成人久久综合| 日本天堂Tv视频在线观看| 色婷婷国产精品| 在线免费观看国产| 日逼中文字幕| 日韩黄色电影在线| AV免费播放| 思思热在线视频精品| 国产永久免费| 少妇久久久久久久久久| 无码人妻一区二区三区| 亚洲精品一区二区三区四区五区六区 | 午夜成人视频| 欧美一级片免费观看| 男人天堂网在线| 黄色录像毛片| 无码视频播放| 影音先锋国产AV| а√天堂中文最新版8| 亚洲特级毛片| www.黄色在线| 嫩BBB搡BBB槡BBB小号| 亚洲欧美在线视频免费| 亚洲视频第一页| 欧美特级AAA| 亚洲精品一区二区三区新线路| 麻豆国产成人AV一区二区三区 | 江苏妇搡BBBB搡BBB| 国产操骚逼| 精品网站999www| 久久久久久久97| 蜜臀99| 中文字幕亚洲一区| 色999亚洲人成色| 久久一本| 99er在线观看视频| 亚洲综合免费观看高清完整| 无码日| 国产美女被爽到高潮免费A片软件 国产无遮挡又黄又爽又色视频软件 | 一级A色情大片| 天堂网中文在线| 91香蕉国产| 91网站在线播放| 竹菊影视一区二区三区| 成人三级片在线| 亚洲在线资源| 天天躁狠狠躁夜躁2024| 无码精品视频在线观看| 日韩免费高清无码视频| 亚洲精品一区二区二区的游戏情况 | 国产sm视频| 天天色图片| 永久黄网站| 欧美一级欧美三级在线观看| 91精品国产人妻| 蜜臀一区二区三区| 亚洲黄色三级| 国产毛片18水真多18精品| 久久久亚洲| 国产亚洲色婷婷久久99精品| 亚洲人人妻| 一区在线播放| 在线国产91| 日本精品三级| 500部大龄熟乱4K视频| 婷婷五月无码| www天天日| 亚洲三级无码| 欧美在线免费观看| 熟女资源网| 国产AV无码区亚洲| 北条麻妃无码视频在线观看| 午夜视频在线看| www日本高清| 青青草无码| www三级片| 午夜福利免费在线观看| 口爆在线| 中文字幕四区| 欧美乱伦一区| 特级毛片在线观看| 成人黄色一级片| 国产肏屄| 亚洲久爱| 在线观看中文字幕| AV东方在线| 欧美成人网站免费在线观看| 欧美性爱一级视频| 色女人天堂| 国产第一页在线播放| 麻豆999| 奇米成人片| 亚洲国产精品久久人人爱| 日韩成人三级片| 青青激情视频| 亚洲无码视频在线播放| 久久这里只有精品99| 欧美小黄片| 爱无码| 午夜激情av| 91久久国产综合久久91精品网站 | 国产激情福利| 麻豆视频一区二区三区| 中文字幕免费中文| 成人久久| 欧美成人免费网站| 中文字幕日韩亚洲| av影音先锋| 亚洲AV电影在线观看| 狠狠躁夜夜躁人爽| 日本成人A片| 天堂网影音先锋| 亚洲视频在线免费观看| 人人操免费| 91亚洲国产成人久久精品麻豆| 欧美操美女| 2025最新国产精品每日更新| 国产av中文字幕| 麻豆精品在线观看| 亚洲天堂国产视频| 久久99草| 亚洲第一福利视频| 亚洲无码成人片| 香蕉视频久久| 午夜视频免费在线观看| 不迷路福利视频| 小處女末发育嫩苞AV| 国产2页| 色琪琪在线视频| www.wuma| 狼人综合网| 丁香五月激情网| 黄色免费看视频| 风间由美大荫蒂无码AV| 国产精品免费麻豆| 欧美激情网| 91久久国产综合| 翔田千里無碼破解| 久久精品波多野结衣| 国产女人18毛片水18精品软件| 农民av| 五月天性爱| 国产视频一区二区三区四区五区| 国产综合区| 日韩国产成人在线| 成人AV婷婷| 嫩BBB槡BBBB槡BBB| 欧美日本国产| 黄色A片电影| 国产小视频在线免费观看| 国产精品午夜在线观看| 欧美视频一区| 成人做爰黄A片免费看陈冠| 高潮国产视频| 乱子伦国产精品视频一级毛 | 一二三区免费视频| 性无码区| 亚洲精品18在线观看| 另类老妇性BBBWBBW| 无码第一页| 中文字幕AV播放| 成人福利午夜A片公司| 成人免费网站在线观看| 一本色道久久88亚洲精品综合| 羽月希在线播放| 人人插人人| 中文字幕日韩人妻在线| 久久久久久久久久8888| 国产香蕉在线视频| 精品三级在线观看| 色99网站| 九九久久国产精品| 欧美激情视频一区二区三区不卡 | 亚洲A∨无码无在线观看| 无码人妻丰满熟妇啪啪| 欧美专区一区| 91AV视频在线观看| 韩国成人啪啪无码高潮| 亚洲AV无码免费| 国产精品国三级国产a11| 国产高清无码一区| 成人免费爱爱视频| 日本欧美一级片| 亚洲色在线视频| 亚洲麻豆| 激情视频网| 又紧又嫩又爽无遮挡免费| 亚洲国产黄色视频| R四虎18| 国产黄色自拍| 亚洲Av秘无码一区二区| 亚洲中文字幕无码爆乳av| 翔田千里与黑人50分钟| 国产精品黄色| 黄色片在线看| 免费视频| 久热官网| 三级片一区二区| 国产色视频一区二区三区QQ号| 韩国三级HD久久精品| 玖玖爱这里只有精品| 亚洲国产成人精品女人久久| 欧美肏屄网| 米奇7777狠狠狠狠| 国产无码一区二区| 国产福利av| 巜人妻初尝按摩师BD中字| 日韩欧美小视频| 国产中文在线观看| 91无码高清| 综合操逼网| 九九视频网| 97pao| 久久av一区二区三区观看| 91无码高清视频| 五月天激情综合| 国产18女人水真多免费看| 亚洲国产高清在线观看视频| 91老熟女| 天堂a√中文8| 嫩BBB嫩BBB嫩BBB| 黄色av天堂| 99久久99九九99九九九| 少妇黄色视频| 中文字幕五月久久| 国产精品播放| 日韩不卡一区| 亚洲AV无码精品久久一区二区| 国产麻豆精品成人免费视频| 日韩视频91| 色婷在线| 午夜在线无码| 久久99高清| 91ThePorn国产| 男女av在线观看| 中文字幕无码乱伦| 人妻人人妻| 在线观看一区二区视频| 青娱乐国产AV| 中文字幕在线观看一区二区三区| 肏逼黄色一级| 国产午夜91人妻| 国产三级黄色AV| 日韩一级视频| 午夜毛片| 丁香六月婷婷| 黄色视频免费看| 久久久成人电影| 成人视频网| 亚洲一级二级| 九色PORNY国产成人蝌蚪| 麻豆成人91精品二区三区| 97毛片| 在线观看日韩| 亚洲中文在线视频| 日本在线| 91成人在线观看学生和老师| 亚洲V| 日韩一区二区在线观看| 91在线亚洲| 欧美一卡二卡| 中文字幕无码在线| 男女日皮视频| 久草福利| 无码射精电影| 日韩三级AV在线观看| 午夜亚洲国产一区视频网站| 亚洲国产高清在线观看视频| 五月天婷婷在线无码| 九热大香蕉| 亚洲无码aa| 444444免费高清在线观看电视剧的注意| 国产香蕉视频免费| 国产潮吹| 尤物av在线| 一级片电影网站| 日韩无码乱码| 天堂网2018| 操BBB操BBB| 免费视频99| av在线一区二区三区| 亚洲精品美女| 一区二区在线看| 国产成人免费做爰视频| 国产av毛片| 成人做爰黄AA片免费看三区 | 黄色大片免费观看| AV在线免费观看网站| 久久99热这里只频精品6学生| 日日干天天操| 日本免费一区二区三区| 成人伊人网| 淫秽视频免费看| 一区二区三区操逼| 91av电影网| 国产一级A片免费看| 一级婬片A片AAAAA毛片| 在线观看欧美黄片| 久久国产精品99久久人人澡| a无码视频在线观看| 午夜啪啪视频| 激情综合婷婷久久| 99国产精品免费视频观看8| 亚洲综合视频在线观看| 国产AV一区二区三区四区| 女人天堂AV| 成人黄色免费视频| 亚洲性精| 可以免费观看的AV| 国产a毛一级,a毛一级| 一级片网址| 国产网友自拍| 色欲久久久| 操逼视频欧美| 99re在线视频观看| 日韩欧美在线免费观看| 免费激情网站| 欧美日韩中文字幕| 91人妻一区二区| 国产一区二区av| 狠狠干狠狠干| 国产av高清| 荫蒂添出高潮A片视频| 华女与黑人91A∨| 午夜成人福利电影| 人妻精品一卡二卡| 99九九99九九九99九他書對| 精品多人P群无码视频| 丁香久久婷婷| 成人无码精品亚洲| 亚洲精品一二三| 波多野结衣高清无码视频| 中文字幕在线不卡| 69毛片| 国产高清无码片| 日日Av| 亚洲一二三四区| 91精彩视频在线观看| 日皮视频在线免费观看| 亚洲欧美日韩一区| 欧美大黑逼| 一级欧美一级日韩| 色婷婷激情五月天| 亚洲一区黄色| 撸一撸av| 可以免费看的AV| 日韩VA| 日韩在观看线| 老女人日逼| 亚洲啊V| 乱伦播放五月天| 加勒比操逼| 亚洲a级| 88AV在线| 成人精品在线| 精品一区二区三区毛片| 午夜无码久久| 九色PORNY国产成人| 中文区中文字幕免费看| 东京热在线免费观看| 午夜av无码| 国产激情艹逼| 人妻体体内射精一区二区| 校园春色亚洲色图| 中文字幕丰满熟妇人妻| 日韩人妻在线视频| 五月网| 加勒比日韩在线| 日本wwwwww| 爆乳乱伦| 成人高清无码视频| 91探花视频精选在线播放| 大香蕉在线视频99| 亚洲九九在线| 亚洲影音先锋在线| 狠狠干狠狠爱| 在线AⅤ| 成人精品在线| 色婷婷91| 91吴梦梦无码一区二区| 无码无码无码| 亚洲AV永久无码精品| 97人人操| 亚洲精品乱码久久久久久蜜桃欧美 | 久久只有精品| 天天综合国产| 天天日天天干天天操| 精品乱子伦一区二区三区下载| 中文字幕免费无码| 九七人妻| 国产一二三视频| 人人干人人摸| 不卡无码av| 高清无码不卡在线观看| 欧美在线一级| 天天干天天射天天操| 麻豆精品国产| 色哟哟――国产精品| 亚洲精品伊人| 91超碰在线免费观看| 日韩在线免费视频| 国模无码在线| 一级免费黄色视频| 欧美在线视频免费观看| 国产成人精品一区二区| 豆花精品视频| 人妻黑人一区二区三区| 日韩怡春院| 亚洲一级黄| 久久久久久久久久免费视频| 99久久丫e6| 亚洲成人色色| 超碰在线中文字幕| 日韩乱伦毛片| 在线国产激情| 无码精品久久| 欧美日韩国产精品| 国产成人高清在线| 国产精品美女在线观看| 久久婷婷六月综合| 亚洲精品秘一区二区三区蜜桃久 | 国产免费一区二区三区四区| 成年人黄色在线观看| 91在线成人| 中文一级片| 久久双飞| 国产免费www| 欧美在线视频免费观看| 日韩另类| 色综合社区| 欧美日韩色| 日韩第一页| 国产g蝌蚪| 隸則av| 五十路AV| 亚洲三级视频| av天堂一区| 亚洲中文字幕在线视频观看| 日韩在线视频播放| 熟妇人妻久久中文字幕| 成人毛片av| 99热超碰在线| 九九九精品| 国产精品久久一区二区三区影音先锋 | 亚洲人妻有码| av片在线免费观看| 成人高清无码| 精品一区二区三区四区学生| 亚洲成人第一页| 久久女人| 青青草在线观看免费| 免费成人黄色| 成人在线一区二区| 青娱在线视频| 欧美色图888| 毛片视频网站| 99re6热在线精品视频功能| 天天干91| 欧美一级黃色A片免费看小优视频| 国产成人+综合亚洲+天堂| 久久久久久久久毛片| 亚洲AV小说| 日韩国产在线| 996热re视频精品视频这里| 久久久精品午夜人成欧洲亚洲韩国 | 亚洲无码网| 成人av影院| 亚洲尤物在线| 日韩午夜精品| 精品视频久| 嫩草久久| 国产AV一级片| 69亚洲视频| 大鷄巴成人A片视频| 99视频网| 91在线成人视频| 成人中文字幕在线观看| A片免费网站| 国产伦子伦一级A片免费看老牛| 无码动漫av| 影音先锋三级片| 翔田千里53歳在线播放| 婷婷五月无码| 黃色一级一片免费播放| 日本wwwwww| 丰满人妻无码| 熟女导航| 粉嫩99精品99久久久久久特污 | 日韩无码人妻| av播播| 俺去俺来也www色官网cms| 国产欧美一区二区三区视频| 成av人片一区二区三区久久| 免费看一区二区三区| 国产午夜91人妻| 91搞鸡| 日本无码一区二区三区| 激情婷婷色五月| 国产一级A| 婷婷五月天在线观看| 亚洲欧美日韩中文字幕在线观看| 国产色五月| av不卡免费观看| 国产日女人| 毛片一区二区三区| 亚洲日本中文字幕在线观看| 性饥渴熟妇乱子伦| 亚洲欧洲久久电影| 五月丁香婷婷基地|