Tag Java

Spring Boot @ConditionalOnProperty

สำหรับวันนี้เรียกว่าไปแงะจากที่เรียน Course manning live project อันเก่าที่ดองไว้ แล้วพยายามหาความสัมพันธ์ เพราะ ผมสาย dotnet มันเลยไม่มีแบบนี้ เลยเขียน Blog ไว้ดีกว่าครับ @ConditionalOnProperty คือ อะไร เจ้า @ConditionalOnProperty เป็นส่วนนึงของ Spring Boot auto-configuration module (org.springframework.boot.autoconfigure.*) แล้วที่นี่มันทำให้ Config แล้วยิงพวก feature flag ได้ จากตัวอย่าง ผมสงสัยตัว ที่นี้มาลองชำแหละกัน DomainConfig ตรงบรรทัดที่ 9 การกำหนด config ถ้าใน application.properties…

[maven] build container image with Buildpacks

สำหรับวันนี้พอดีสงสัยได้ไปส่อง Repo อื่นๆ แล้วเวลาทำ Container Image มันต้องมี Dockerfile แต่มา Project นึง (เพิ่งได้เข้ามาดู เพราะคนเดิมออกไป) เลยอ๋อ นอกจากทำ Dockerfile แล้วมันสามารถกำหนด Config ในตัว Maven หรือ gradle ได้ด้วยนะ เลยมา Recap ลง Blog ไว้นิดหน่อยทำ Second Brain อิอิ Cloud Native Buildpacks เป็น Project ที่ทาง Pivotal กับ Heroku…

[JAVA] Json Path

When XML has XPath, Json also has JsonPath. For Java, you can use libraries like: In this blog, I will show an example of interacting with JSON Path by using JSONPath  Using JSONPath Anotation Description $ represents the root of the JSON document. . or [] is used for accessing child elements. * is a wildcard that matches any element. [?()]…

Spring Test Error java.lang.ClassNotFoundException: org.junit.platform.engine.reporting.OutputDirectoryProvider

พอดีช่วงนี้ลองปัดฝุ่น Java ป่าวหรอกจริงๆไปลอง Course manning live project อันเก่าที่ดองไว้ ซื้อมาตอน 10 usd แล้วมาลองดู Spring Version ใหม่ ของเดิมนน่าจะปี 2022-2023 แต่พอขยับ แล้วเจอ Error ตอนแรกผมคิดมาครึ่งวันเลย แล้วพอมาเจอ Issue นี้ ถึงบางอ้อเลยครับ มัน Bug สรุป ผมเลยย้อนกลับไปใช้ Version ล่าสุดเมื่อปลายปี 2025 กับเดือนแรกของปี 2025 แทนครับ อันนี้เป็น pom ที่แก้ เผื่อใครเจอปัญหาครับ ^__^…

ปิดการเขียน Default Password หลังเปิดใช้งาน Spring Security

ปกติตัว Spring เองจะมี Module / Lib ที่ช่วยจัดการด้าน Security ให้ง่ายขึ้น เวลาใช้งานเอา Config มาแปะใน pom.xml ตามนี้ครับ ลอง build ใหม่ครับ โดยพอเมื่อใส่เข้ามาแล้ว มันจะ Default ครอบทุก API เลย โดยจะมีหน้า Login ง่ายๆ ตามนี้ แล้วเราใช้ user อะไร หละ ? ถ้าไปดูใน doc มันจะบอกว่า แล้วทีนี้ ถ้าให้มันไป Run โผล่ลอย หรือ…

How to fix error trustAnchors parameter must be non-empty

ลอง Deploy App แล้วเจอ Error ตามนี้เลย java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty Solution ปกติแล้ว java จะมี TrustStore Location อยู่ 3 จุด นำตัว Cert มาวางตาม Default Location หรือ ไม่สามารถ Custom Location ได้จาก Parameter -Djavax.net.ssl.trustStore และใส่ Password ของ Cert…

[JAVA] Maven 2022

พอดีช่วงนี้มีเอา Tool เล็กๆที่เขียนด้วย Java 8 ที่ใช้มานาน 7 ปี และ แต่ยังไมนาน 8 ปี มาแปลงให้เป็น Java 17 ด้วยที่ตัว Project เก่ายังเป็น Eclipse อยู่เลย เลยต้องแปลงเป็น Maven ก่อน โดยมีวิธีการ ดังนี้ [Maven] แปลง Java Eclipse Project ธรรมดาให้กลายเป็น Maven Project >> ปี 2022 ยังใช้งานได้อยู่ และมีลองหาดูตัว VS Code…

[JAVA] ScriptEngine engine = factory.getEngineByName(“groovy”); แล้วได้ Null

เนื่องจาก Thesis ผมมีความซับซ้อนสูงต้องมีการ Evaluate พวก Expression ต่างๆด้วย ผมจึงเลือกใช้ Groovy ซึ่งมันคำสั่ง Eval ในการตรวจสอบ Expression ครับ โดยจาก Code ตัวอย่าง พอ Run แล้วมันไม่สามารถหา Groovy Engine ได้ครับ หลังจากหาสาเหตุอยู่พักใหญ่ๆเลยพบว่า Maven ที่อ้างอิงถึง Library ที่ใช้ Groovy ต้องมี ดังนี้ครับ ตาม Code เลย (ปรับ Version จาก Marven Central ครับ)

[JAVA] แก้ไข XML ในส่วนของ CDATA

ช่วงนี้ก็กลับมาทำ Thesis แล้วครับ หลังจากที่ได้ทำงานอย่างหนัก เพื่อลูกค้าไปจนดึกดื่นครับ โดยในปัญหาที่ผมเจอ คือ ต้องการ Update ค่าใน XML ครับ โดยมีตัวอย่างของ XML ที่ต้องการแก้ไขค่า ดังนี้ครับ ก่อนแก้ไข หลังแก้ไข จากรูปเห็นว่าค่าใน XML Node ที่ผมต้องการแก้ไขมันมีอักขระพิเศษอย่าง CDATA มันมีชื่อเต็ม คือ Character Data สำหรับเจ้า CDATA มันมีชื่อเต็ม คือ Character Data ครับ จุดประสงค์ของมันก็ตรงตัวเลยครับ ยัดอะไรเข้ามาใช้ XML ก็ต้องเก็บตามที่ยัดครับ ไม่เว้นพวกอักขระพิเศษ ตามตารางด้านล่างเลยครับ…