1. Config Maven ด้วย
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<start-class>tutorial.spring4.StandAloneApp</start-class>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- Properties จะเป็นส่วนบอก Spring Boot ว่าทำงานอย่างไร- project.build.sourceEncoding บอกว่า source code ใช้ encoding อะไร
- java.version บอกว่าจะใช้ Java Version อะไร
- start-class คลาสที่จะให้รัน Initialize ขึ้นมา จาก Config หมายถึงจะวิ่งไปอ่าน StandAlone มาเพื่อรัน Spring ครับ
2.เราก็สร้าง Class StandAlone ใน package tutorial.spring4
@SpringBootApplication
public class StandAloneApp extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(StandAloneApp.class);
}
}
- @SpringBootApplication คือกรรวมกันของ 3 อย่าง @Configuration, @EnableConfiguration, @ComponentScan
- extends SpringBootServletInitializer ถ้ารันด้วยตัว SpringBoot เองไม่ต้องใส่ก็ได้ครับ แต่ถ้าไปรันบน Server จะต้องใส่ไว้
- SpringApplication.run(StandAloneApp.class) สั่งรันทำงาน จาก start-class
3. ต่อไปก็สร้าง Controller สำหรับรันได้เลยครับ โดย Class ทุกอย่างต้องอยู่ระดับที่ต่อจาก StandAloneApp คือหลังจาก tutorial.spring4
@Controller
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
}
4. สั่งร้นได้จากตัว jar ได้เลยครับ โดย
- mvn package ก่อน
- java -jar target/xxx.jar รัน app ที่สร้างขึ้นมา
References
Basic
1. Spring Boot ตอนที่ 1 มาทำความรู้จักกับ Spring Boot
2. Spring Boot ตอนที่ 2 Hello World
3. Spring Boot ตอนที่ 3 โครงสร้างของ Project
4. Spring Boot ตอนที่ 4 Spring Boot กับ Thymeleaf
5.Spring Boot ตอนที่ 5 Spring Boot กับ Database [แบบ Embeded]
6.Spring Boot ตอนที่ 6 กับ Production Database
7.Spring Boot ตอนที่ 7 Security
8.Spring Boot ตอนที่ 8 Testing
8 comments:
สอบถามเพิ่มเติมหนอ่ยครับ ถ้าเราทำเป็น Web App แล้วบอกว่า สามารถ รัน standalone ได้นี้ ถ้าเป็นระบบระดับกลาง ๆ นี้จะเหมาะไหมครับ
และถ้าเราต้องการจัดการ resource อื่น ๆ นี้มีการจัดการ เหมือนทั่วไปหรือเปล่าครับ
เพราะเคยแต่เอาพวก JSP , JSTL , EL , CSS , JS , Image ไว้ ภายใต้ WebContent ครับ
แนะนำแนวทางหนอ่ยครับ
@Sarunyoo ได้ครับ เพราะสามารถรันเป็น Jar File ได้เลย ใช้ Concept Micro Service น่ะครับ ส่วนจะย้ายไปใช้ใน WebCntent ก็ได้แต่ต้องไปเพิ่มใน application.properties ครับ บอกได้ว่าให้ไปอ่านที่ไหน
รบกวนอธิบายนิดนึงครับ ทำไมใช้ @Controller แทนที่จะเป็น @RestController
ผมไม่ได้ให้หลังบ้านส่งออกมาเป็น rest น่ะครับ ui ผมจะเป็นพวก jsf, thymeleaf เอา ถ้าต้องการใฟ้ส่งมาเแน rest จะใช้ restcontroller แทน เอามาใช้กับพวก angular, react เป็นต้นครับ
ระดับกลางๆ เหมาะครับ ส่วนี้จะเป็น backend สามารถปลักกับพวก jsf ได้เลยครับ
ก็คือว่าตรง " Hello World! " เราก็ต้องสร้างhtmlชื่อ Hello World! ด้วยหรือเปล่าครับ พอดีเพิ่งศึกษาเบื้องต้นน่ะครับ ขอบคุณครับ
อันนี้จะส่ง text ไปเลยครับ ถ้าหน้าจอส่วนถ้าจะทำ html มารับปกติจะretuurn เป็จ ModelAndView ครับ ถ้าจะใช้ก็จะมีพงก thymeleaf ที่เป็นหน้าจอของ spring จะผูกกันง่าย ปล
ตัวอย่างคือ springboot2 แนะนำไปใช้ springboot3 เลยครับ
ขอบคุณครับ
แสดงความคิดเห็น