顯示具有 properties 標籤的文章。 顯示所有文章
顯示具有 properties 標籤的文章。 顯示所有文章

2020年11月16日 星期一

[SpingBoot 1.5] 配置文件YAML 與 @ConfigurationProperties 搭配使用

 首先造一個 Person 類別

加入@Component使其能夠被注入 

並加入@ConfigurationProperties , 告知對應prefix的文字為person


類別屬性為以下, 並加入setter, getter和toString方法

private String lastname;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String, Object> maps;
private List<Object> lists;
private Dog dog;

並在application.yaml中加入以下這段

person:
lastName: hello
age: 18
boss: false
birth: 2017/12/12
maps: {k1: v1,k2: 12}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 12

為了要使用@ConfigurationProperties, 我們需要在pom.xml檔案中的
depenedencies中加入以下這段

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

然後將整個spring重run 就可以使用
為了方便測試, 我們在test中進行
位置為以下


內容則為如下

@SpringBootTest
class SpringBoot02ConfigApplicationTests {

@Autowired
Person person;

@Test
void contextLoads() {
System.out.println(person);
}

}

我們run的結果則為
Person{lastname='hello', age=18, boss=false, birth=Tue Dec 12 00:00:00 CST 2017, 
maps={k1=v1, k2=12}, lists=[lisi, zhaoliu], dog=Dog{name='小狗', age=12}}
這樣就完成了~

另外如果不在yaml檔案中賦值, 也可以在application.properties檔案中賦值
長相為如下
person.lastname=張三
person.age=18
person.birth=2017/12/15
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c
person.dog.name=dog
person.dog.age=15

相關內容:
https://blog.csdn.net/yingxiake/article/details/51263071





2020年11月11日 星期三

[SpingBoot 1.5] 配置文件及 YAML Cannot resolve configuration property 'server' 錯誤

SpiringBoot 配置文件
除了可以使用application.properties外 
還可以使用application.yml 
而以前的配置文件大多是使用xxxx.xml文件 
YAML: 以數據為中心, 比json, xml更適合用來做配置文件 
舉例: 

YAML:
server:
   port: 8082
XML:
<server>
  <port>8081</port>
</server>
在這邊寫yaml檔案要小心
在分號: 後面必須要有空格
不然會發生 Cannot resolve configuration property 'server'
也就是他格式錯了, 他就沒辦法辨認

yaml檔案放的位置如下
基本上放在resources中就可以用(application.yml)



Aider及gemini合併使用心得

嘗試Aider SDD套用gemini 我發現ai全自動產code有一個現象, 就是我心中有一個完美的想法, ai可能基於他的背景資訊未必想得到, 也或著就是ai已經被各種知識訓練過, 他可能選擇了一種, 但是並沒有查覺到其中有什麼問題, 很多時候的solution就是想得太簡單...