Spring Boot CLI - คู่มือฉบับย่อ
Spring Boot CLI เป็นอินเตอร์เฟสบรรทัดคำสั่งสำหรับ Spring Boot สามารถใช้สำหรับการเริ่มต้นอย่างรวดเร็วด้วย Spring สามารถเรียกใช้สคริปต์ Groovy ซึ่งหมายความว่านักพัฒนาไม่จำเป็นต้องเขียนโค้ดสำเร็จรูป สิ่งที่จำเป็นคือมุ่งเน้นไปที่ตรรกะทางธุรกิจ Spring Boot CLI เป็นวิธีที่เร็วที่สุดในการสร้างแอปพลิเคชันที่ใช้ Spring
คุณสมบัติ
ในส่วนนี้เราจะดูคุณสมบัติต่างๆของ Spring Boot CL -
มีอินเทอร์เฟซสำหรับรันและทดสอบ Spring Boot Application จาก command prompt
โดยใช้ส่วนประกอบ Spring Boot Starter และ Spring Boot AutoConfigurate ภายในเพื่อแก้ไขการอ้างอิงทั้งหมดและเรียกใช้แอปพลิเคชัน
ประกอบด้วยคอมไพเลอร์ Groovy และ Grape Dependency Manager
รองรับ Groovy Scripts โดยไม่ต้องติดตั้ง Groovy ภายนอก
เพิ่มค่าเริ่มต้น Spring Boot และแก้ไขการอ้างอิงทั้งหมดโดยอัตโนมัติ
Spring เป็นเฟรมเวิร์กที่ใช้ Java ดังนั้นเราต้องตั้งค่า JDK ก่อน ต่อไปนี้เป็นขั้นตอนที่จำเป็นในการตั้งค่า Spring Boot CLI พร้อมกับการติดตั้ง JDK
ขั้นตอนที่ 1 - ตั้งค่า Java Development Kit (JDK)
คุณสามารถดาวน์โหลด SDK เวอร์ชันล่าสุดได้จากไซต์ Java ของ Oracle - ดาวน์โหลด Java SE คุณจะพบคำแนะนำในการติดตั้ง JDK ในไฟล์ที่ดาวน์โหลดทำตามคำแนะนำที่กำหนดเพื่อติดตั้งและกำหนดค่าการตั้งค่า สุดท้ายตั้งค่าตัวแปรสภาพแวดล้อม PATH และ JAVA_HOME เพื่ออ้างถึงไดเร็กทอรีที่มี java และ javac โดยทั่วไปjava_install_dir/bin และ java_install_dir ตามลำดับ
หากคุณใช้ Windows และติดตั้ง JDK ใน C:\jdk1.6.0_15คุณจะต้องใส่บรรทัดต่อไปนี้ในไฟล์ C:\autoexec.bat ไฟล์ -
set PATH=C:\jdk1.6.0_15\bin;%PATH%
set JAVA_HOME=C:\jdk1.6.0_15
หรืออีกวิธีหนึ่งคือเปิด Windows NT/2000/XPคุณจะต้องคลิกขวาที่ My Computer เลือก Properties → Advanced → Environment Variables จากนั้นคุณจะต้องอัปเดตค่า PATH และคลิกปุ่มตกลง
บน Unix (Solaris, Linux ฯลฯ ) หากติดตั้ง SDK ในไฟล์ /usr/local/jdk1.6.0_15 และคุณใช้ C เชลล์คุณจะต้องใส่สิ่งต่อไปนี้ลงในไฟล์ .cshrc ไฟล์ -
setenv PATH /usr/local/jdk1.6.0_15/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.6.0_15
ขั้นตอนที่ 2 - ติดตั้ง Spring Boot CLI
คุณสามารถดาวน์โหลด Spring Boot CLI API เวอร์ชันล่าสุดเป็นไฟล์ ZIP ได้จาก https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/. เมื่อคุณดาวน์โหลดการติดตั้งแล้วให้แกะการกระจายซิปในตำแหน่งที่สะดวก ตัวอย่างเช่นในE:\Test\spring-1.5.8.RELEASE on Windows, หรือ /usr/local/spring-1.5.8.RELEASE on Linux/Unix.
ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าตัวแปร CLASSPATH บนไดเร็กทอรีนี้อย่างถูกต้องมิฉะนั้นคุณจะประสบปัญหาขณะเรียกใช้แอปพลิเคชันของคุณ
หรือกำหนดเส้นทางใน command prompt ชั่วคราวเพื่อเรียกใช้แอปพลิเคชัน spring boot ดังที่แสดงด้านล่าง -
E:/Test/> set path=E:\Test\spring-1.5.8.RELEASE\bin;%PATH%
ขั้นตอนที่ 3 - ตรวจสอบการติดตั้ง
รันคำสั่งต่อไปนี้บน command prompt เพื่อตรวจสอบการติดตั้ง -
E:/Test/> spring --version
ควรพิมพ์ผลลัพธ์ต่อไปนี้เพื่อยืนยันการติดตั้งสำเร็จ -
Spring CLI v1.5.8.RELEASE
ในตัวอย่างนี้เราจะสร้างเว็บแอปพลิเคชัน Spring Boot + MVC + Rest
ขั้นตอนที่ 1: สร้างโฟลเดอร์ต้นทาง
สร้างโฟลเดอร์ FirstApplication ใน E:\Test folder.
ขั้นตอนที่ 2: สร้างไฟล์ต้นฉบับ
สร้างไฟล์ FirstApplication.groovy ใน E:\Test folder ด้วยซอร์สโค้ดต่อไปนี้ -
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
ขั้นตอนที่ 3: เรียกใช้แอปพลิเคชัน
พิมพ์คำสั่งต่อไปนี้ -
E:/Test/> spring run FirstApplication.groovy
ตอนนี้ Spring Boot CLI จะเริ่มดำเนินการดาวน์โหลดการอ้างอิงที่จำเป็นเรียกใช้ tomcat แบบฝังปรับใช้แอปพลิเคชันและเริ่มต้นใช้งาน คุณสามารถดูผลลัพธ์ต่อไปนี้บนคอนโซล -
Resolving dependencies..........................................................
................................................................................
........................
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
2017-11-07 17:36:55.703 INFO 5528 --- [ runner-0] o.s.boot.SpringApplication:
Starting application on ...
2017-11-07 17:36:55.707 INFO 5528 --- [ runner-0] o.s.boot.SpringApplication:
No active profile set, falling back to default profiles: default
2017-11-07 17:36:56.067 INFO 5528 --- [ runner-0] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4c108392: startup date [Tue Nov 07 17:36:
56 IST 2017]; root of context hierarchy
2017-11-07 17:36:57.327 INFO 5528 --- [ runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
2017-11-07 17:36:57.346 INFO 5528 --- [ runner-0] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2017-11-07 17:36:57.354 INFO 5528 --- [ runner-0] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.23
2017-11-07 17:36:57.537 INFO 5528 --- [ost-startStop-1] org.apache.catalina.loader.WebappLoader : Unknown loader org.springframework.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader@41bfad4f class org.springframew
ork.boot.cli.compiler.ExtendedGroovyClassLoader$DefaultScopeParentClassLoader
2017-11-07 17:36:57.567 INFO 5528 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2017-11-07 17:36:57.567 INFO 5528 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1500 ms
2017-11-07 17:36:57.725 INFO 5528 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/*]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2017-11-07 17:36:57.730 INFO 5528 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/*]
2017-11-07 17:36:58.012 INFO 5528 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@4c108392: startup date [Tue Nov 07 17:36:56 IST 2017]; root of context hierarchy
2017-11-07 17:36:58.066 INFO 5528 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/]}" onto public java.lang.String FirstApplication.home()
2017-11-07 17:36:58.070 INFO 5528 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity
> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 2017-11-07 17:36:58.071 INFO 5528 --- [ runner-0] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web .BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 2017-11-07 17:36:58.096 INFO 5528 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-11-07 17:36:58.096 INFO 5528 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-11-07 17:36:58.129 INFO 5528 --- [ runner-0] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-11-07 17:36:58.626 INFO 5528 --- [ runner-0] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup 2017-11-07 17:36:58.696 INFO 5528 --- [ runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http) 2017-11-07 17:36:58.699 INFO 5528 --- [ runner-0] o.s.boot.SpringApplication : Started application in 3.529 seconds (JVM running for 190.196) 2017-11-07 17:37:20.217 INFO 5528 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring FrameworkServlet 'dispatcherServlet' 2017-11-07 17:37:20.218 INFO 5528 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started 2017-11-07 17:37:20.238 INFO 5528 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 20 ms
ขั้นตอนที่ 4: เรียกดูแอปพลิเคชันในเบราว์เซอร์
ตอนนี้แอปพลิเคชั่นพักสปริงของเราพร้อมแล้ว เปิด url เป็น "http://localhost:8080/"และคุณจะเห็นผลลัพธ์ต่อไปนี้ -
Hello World
จุดสำคัญ
พิจารณาประเด็นต่อไปนี้เพื่อทำความเข้าใจว่า Spring CLI ทำงานอย่างไร
JAR ที่ขึ้นต่อกันทั้งหมดจะถูกดาวน์โหลดในครั้งแรกเท่านั้น
Spring CLI จะตรวจจับโดยอัตโนมัติว่าจะดาวน์โหลด JAR อ้างอิงใดโดยอิงตามคลาสและคำอธิบายประกอบที่ใช้ในโค้ด
สุดท้ายหลังจากการคอมไพล์โค้ดแล้วให้ปรับใช้ไฟล์ war บน tomcat แบบฝังและเริ่มเซิร์ฟเวอร์ tomcat แบบฝังบนพอร์ตเริ่มต้น 8080
Standard Groovy codebase ประกอบด้วยไฟล์ @Grabคำอธิบายประกอบเพื่อให้สามารถประกาศการอ้างอิงบนไลบรารีของบุคคลที่สามได้ การใช้คำอธิบายประกอบ @Grab Grape Dependency Manager จะดาวน์โหลด jar ในลักษณะเดียวกับ Maven / Gradle โดยไม่ต้องใช้เครื่องมือสร้างใด ๆ Spring Boot พยายามอนุมานไลบรารีที่ต้องการตามรหัส ตัวอย่างเช่นการใช้ @RestController บอกว่าต้องใช้ไลบรารี "Tomcat" และ "Spring MVC"
คว้าคำแนะนำ
ตารางต่อไปนี้แสดงรายละเอียดคำแนะนำที่ Spring Boot ใช้เพื่อดาวน์โหลดไลบรารีของบุคคลที่สาม -
ซีเนียร์ | คำแนะนำและการพึ่งพาการดาวน์โหลด / ลิงค์ |
---|---|
1 | JdbcTemplate, NamedParameterJdbcTemplate, DataSource แอปพลิเคชัน JDBC |
2 | @EnableJms แอปพลิเคชัน JMS |
3 | @EnableCaching การแคชสิ่งที่เป็นนามธรรม |
4 | @Test JUnit |
5 | @EnableRabbit RabbitMQ |
6 | @EnableReactor เครื่องปฏิกรณ์โครงการ |
7 | extends Specification การทดสอบสป็อค |
8 | @EnableBatchProcessing ชุดสปริง |
9 | @MessageEndpoint, @EnableIntegrationPatterns การรวมสปริง |
10 | @EnableDeviceResolver สปริงโมบาย |
11 | @Controller, @RestController, @EnableWebMvc Spring MVC + Tomcat ในตัว |
12 | @EnableWebSecurity ความปลอดภัยในฤดูใบไม้ผลิ |
13 | @EnableTransactionManagement การจัดการธุรกรรมในฤดูใบไม้ผลิ |
เราสามารถระบุการอ้างอิงโดยใช้คำอธิบายประกอบ @Grab ได้โดยไม่ต้องระบุกลุ่มหรือเวอร์ชัน ตัวอย่างเช่น,
@Grab('antlr')
ตอนนี้ Spring Boot CLI จะดาวน์โหลดเวอร์ชัน 2.7.7 ของ antlrตามที่มีอยู่ในข้อมูลเมตาการอ้างอิงเริ่มต้นของ Spring Boot สำหรับเวอร์ชัน 1.5.8 Spring Boot จะรักษาเวอร์ชันการอ้างอิงทั้งหมดตามค่าเริ่มต้นซึ่งมีให้ใน CLI, การจัดการการพึ่งพา Maven และปลั๊กอิน Gradle เมื่อใดก็ตามที่เราประกาศการพึ่งพาของอาร์ติแฟกต์ใด ๆ ที่มีอยู่ในข้อมูลเมตาการพึ่งพา efault โดยไม่ได้ประกาศเวอร์ชันเวอร์ชันที่แสดงในตารางจะถูกใช้
ตารางต่อไปนี้แสดงการอ้างอิงทั้งหมดและเวอร์ชันที่รวมอยู่ในข้อมูลเมตาเริ่มต้นสำหรับเวอร์ชัน Spring Boot CLI 1.5.8
รหัสกลุ่ม | รหัสวัตถุ | เวอร์ชัน |
---|---|---|
antlr | antlr | 2.7.7 |
ch.qos.logback | logback-access | 1.1.11 |
ch.qos.logback | ล็อกแบ็คคลาสสิก | 1.1.11 |
ch.qos.logback | logback-core | 1.1.11 |
com.atomikos | ธุรกรรม -jdbc | 3.9.3 |
com.atomikos | ธุรกรรม -Jms | 3.9.3 |
com.atomikos | ธุรกรรม -jta | 3.9.3 |
com.couchbase.client | couchbase- สปริงแคช | 2.1.0 |
com.couchbase.client | java ไคลเอนต์ | 2.3.7 |
com.datastax.cassandra | คาสแซนดร้าไดร์เวอร์คอร์ | 3.1.4 |
com.datastax.cassandra | แคสแซนดร้าไดร์เวอร์แมป | 3.1.4 |
com.fasterxml | เพื่อนร่วมชั้น | 1.3.4 |
com.fasterxml.jackson.core | แจ็คสันคำอธิบายประกอบ | 2.8.0 |
com.fasterxml.jackson.core | แจ็คสันคอร์ | 2.8.10 |
com.fasterxml.jackson.core | jackson-databind | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสัน dataformat-avro | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสันข้อมูลรูปแบบ cbor | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสัน dataformat-csv | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสันข้อมูลรูปแบบไอออน | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสันข้อมูลรูปแบบคุณสมบัติ | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสัน dataformat-protobuf | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสันข้อมูลรูปแบบรอยยิ้ม | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสัน dataformat-xml | 2.8.10 |
com.fasterxml.jackson.dataformat | แจ็คสันข้อมูลรูปแบบ yaml | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype- ฝรั่ง | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-hibernate3 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-hibernate4 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-hibernate 5 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-hppc | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-jaxrs | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-joda | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-json-org | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-jsr353 | 2.8.10 |
com.fasterxml.jackson.datatype | jackson-datatype-pcollections | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs- ฐาน | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs-cbor- ผู้ให้บริการ | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs-json- ผู้ให้บริการ | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs- ผู้ให้บริการรอยยิ้ม | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs-xml-provider | 2.8.10 |
com.fasterxml.jackson.jaxrs | jackson-jaxrs-yaml-provider | 2.8.10 |
com.fasterxml.jackson.jr | แจ็คสันจูเนียร์ทั้งหมด | 2.8.10 |
com.fasterxml.jackson.jr | แจ็คสันจูเนียร์วัตถุ | 2.8.10 |
com.fasterxml.jackson.jr | แจ็คสันจูเนียร์ชุดติดตั้งเพิ่ม 2 | 2.8.10 |
com.fasterxml.jackson.jr | แจ็คสันจูเนียร์สตรีท | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล afterburner | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล guice | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล jaxb คำอธิบายประกอบ | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล jsonSchema | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล kotlin | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล mrbean | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล osgi | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูลพารามิเตอร์ชื่อ | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล paranamer | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล scala_2.10 | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล scala_2.11 | 2.8.10 |
com.fasterxml.jackson.module | แจ็คสันโมดูล scala_2.12 | 2.8.10 |
com.gemstone.gemfire | พลอยไฟ | 8.2.7 |
com.github.ben-manes.caffeine | คาเฟอีน | 2.3.5 |
com.github.mxab.thymeleaf.extras | thymeleaf-extras-data-attribute | 1.3 |
com.google.appengine | appengine-api-1.0-sdk | 1.9.58 |
com.google.code.gson | gson | 2.8.2 |
com.googlecode.json-simple | json ง่าย | 1.1.1 |
com.h2database | h2 | 1.4.196 |
com.hazelcast | เฮเซลคาสต์ | 3.7.8 |
com.hazelcast | เฮเซลคาสต์ลูกค้า | 3.7.8 |
com.hazelcast | เฮเซลคาสต์ - จำศีล 4 | 3.7.1 |
com.hazelcast | เฮเซลคาสต์ - ไฮเบอร์เนต 5 | 1.1.3 |
com.hazelcast | เฮเซลคาสต์สปริง | 3.7.8 |
com.jayway.jsonpath | json- เส้นทาง | 2.2.0 |
com.jayway.jsonpath | json-path-assert | 2.2.0 |
com.microsoft.sqlserver | mssql-jdbc | 6.1.0.jre7 |
com.querydsl | querydsl-apt | 4.1.4 |
com.querydsl | แบบสอบถามdslคอลเลกชัน | 4.1.4 |
com.querydsl | querydsl-core | 4.1.4 |
com.querydsl | querydsl-jpa | 4.1.4 |
com.querydsl | querydsl-mongodb | 4.1.4 |
com.samskivert | jmustache | 1.13 |
com.sendgrid | sendgrid-java | 2.2.2 |
com.sun.mail | javax.mail | 1.5.6 |
com.timgroup | java-statsd-client | 3.1.0 |
com.unboundid | unboundid-ldapsdk | 3.2.1 |
com.zaxxer | HikariCP | 2.5.1 |
com.zaxxer | HikariCP-java6 | 2.3.13 |
com.zaxxer | HikariCP-java7 | 2.4.13 |
คอมมอนส์ - beanutils | คอมมอนส์ - beanutils | 1.9.3 |
คอมมอนส์โคเดก | คอมมอนส์โคเดก | 1.10 |
คอมมอนส์คอลเลกชัน | คอมมอนส์คอลเลกชัน | 3.2.2 |
คอมมอนส์ -dbcp | คอมมอนส์ -dbcp | 1.4 |
คอมมอนส์ - บ่อหมัก | คอมมอนส์ - บ่อหมัก | 2.1 |
คอมมอนส์พูล | คอมมอนส์พูล | 1.6 |
de.flapdoodle.embed | de.flapdoodle.embed.mongo | 1.50.5 |
dom4j | dom4j | 1.6.1 |
io.dropwizard.metrics | เมตริก - คำอธิบายประกอบ | 3.1.5 |
io.dropwizard.metrics | เมตริกหลัก | 3.1.5 |
io.dropwizard.metrics | เมตริก -ehcache | 3.1.5 |
io.dropwizard.metrics | เมตริก - ปมประสาท | 3.1.5 |
io.dropwizard.metrics | เมตริก - กราไฟท์ | 3.1.5 |
io.dropwizard.metrics | เมตริก - สุขภาพตรวจสอบ | 3.1.5 |
io.dropwizard.metrics | เมตริก -httpasyncclient | 3.1.5 |
io.dropwizard.metrics | เมตริก -jdbi | 3.1.5 |
io.dropwizard.metrics | เมตริกเจอร์ซีย์ | 3.1.5 |
io.dropwizard.metrics | เมตริกเจอร์ซีย์ 2 | 3.1.5 |
io.dropwizard.metrics | เมตริก - ท่าเทียบเรือ 8 | 3.1.5 |
io.dropwizard.metrics | เมตริก - ท่าเทียบเรือ 9 | 3.1.5 |
io.dropwizard.metrics | เมตริกท่าเทียบเรือ 9 มรดก | 3.1.5 |
io.dropwizard.metrics | เมตริก -Json | 3.1.5 |
io.dropwizard.metrics | เมตริก -jvm | 3.1.5 |
io.dropwizard.metrics | เมตริก -log4j | 3.1.5 |
io.dropwizard.metrics | เมตริก -log4j2 | 3.1.5 |
io.dropwizard.metrics | เมตริก - บันทึกย้อนกลับ | 3.1.5 |
io.dropwizard.metrics | เมตริก - servlet | 3.1.5 |
io.dropwizard.metrics | เมตริก - servlets | 3.1.5 |
io.projectreactor | เครื่องปฏิกรณ์ - บัส | 2.0.8 ปล่อย |
io.projectreactor | แกนเครื่องปฏิกรณ์ | 2.0.8 ปล่อย |
io.projectreactor | เครื่องปฏิกรณ์ - ร่อง | 2.0.8 ปล่อย |
io.projectreactor | เครื่องปฏิกรณ์ - ส่วนขยายร่อง | 2.0.8 ปล่อย |
io.projectreactor | เครื่องปฏิกรณ์ล็อกแบ็ค | 2.0.8 ปล่อย |
io.projectreactor | เครื่องปฏิกรณ์สุทธิ | 2.0.8 ปล่อย |
io.projectreactor | เครื่องปฏิกรณ์กระแส | 2.0.8 ปล่อย |
io.projectreactor.spring | เครื่องปฏิกรณ์สปริงบริบท | 2.0.7 ปล่อย |
io.projectreactor.spring | เครื่องปฏิกรณ์สปริงแกน | 2.0.7 ปล่อย |
io.projectreactor.spring | เครื่องปฏิกรณ์สปริงข้อความ | 2.0.7 ปล่อย |
io.projectreactor.spring | เครื่องปฏิกรณ์สปริง webmvc | 2.0.7 ปล่อย |
io.searchbox | ตลก | 2.0.4 |
io.undertow | หลักใต้น้ำ | 1.4.20. รอบชิงชนะเลิศ |
io.undertow | Undertow-servlet | 1.4.20. รอบชิงชนะเลิศ |
io.undertow | Undertow-websockets-jsr | 1.4.20. รอบชิงชนะเลิศ |
javax.cache | แคช api | 1.0.0 |
javax.jms | jms-api | 1.1-rev-1 |
javax.mail | javax.mail-api | 1.5.6 |
javax.servlet | javax.servlet-api | 3.1.0 |
javax.servlet | jstl | 1.2 |
javax.transaction | javax.transaction-api | 1.2 |
javax.validation | การตรวจสอบ - api | 1.1.0. รอบชิงชนะเลิศ |
Jaxen | Jaxen | 1.1.6 |
joda-time | joda-time | 2.9.9 |
จูนิท | จูนิท | 4.12 |
mysql | mysql-connector-java | 5.1.44 |
net.java.dev.jna | jna | 4.2.2 |
net.java.dev.jna | jna- แพลตฟอร์ม | 4.2.2 |
net.sf.ehcache | ehcache | 2.10.4 |
net.sourceforge.htmlunit | htmlunit | 2.21 |
net.sourceforge.jtds | jtds | 1.3.1 |
net.sourceforge.nekohtml | nekohtml | 1.9.22 |
nz.net.ultraq.thymeleaf | ไทม์ลีฟเลย์เอาต์ภาษาถิ่น | 1.4.0 |
org.apache.activemq | activemq-amqp | 5.14.5 |
org.apache.activemq | activemq- พิมพ์เขียว | 5.14.5 |
org.apache.activemq | activemq- นายหน้า | 5.14.5 |
org.apache.activemq | activemq- อูฐ | 5.14.5 |
org.apache.activemq | activemq-client | 5.14.5 |
org.apache.activemq | activemq- คอนโซล | 5.14.5 |
org.apache.activemq | activemq-http | 5.14.5 |
org.apache.activemq | activemq-jaas | 5.14.5 |
org.apache.activemq | activemq-jdbc ร้านค้า | 5.14.5 |
org.apache.activemq | activemq-jms-pool | 5.14.5 |
org.apache.activemq | activemq-kahadb-store | 5.14.5 |
org.apache.activemq | activemq-karaf | 5.14.5 |
org.apache.activemq | activemq-leveldb- ร้านค้า | 5.14.5 |
org.apache.activemq | activemq-log4j-appender | 5.14.5 |
org.apache.activemq | activemq-mqtt | 5.14.5 |
org.apache.activemq | activemq-openwire-generator | 5.14.5 |
org.apache.activemq | activemq-openwire-legacy | 5.14.5 |
org.apache.activemq | activemq-osgi | 5.14.5 |
org.apache.activemq | activemq-partition | 5.14.5 |
org.apache.activemq | activemq-pool | 5.14.5 |
org.apache.activemq | activemq-ra | 5.14.5 |
org.apache.activemq | activemq-run | 5.14.5 |
org.apache.activemq | activemq-runtime-config | 5.14.5 |
org.apache.activemq | activemq-shiro | 5.14.5 |
org.apache.activemq | activemq- สปริง | 5.14.5 |
org.apache.activemq | activemq-stomp | 5.14.5 |
org.apache.activemq | activemq-web | 5.14.5 |
org.apache.activemq | อาร์ทิมิส - แอมคิวพีโปรโตคอล | 1.5.5 |
org.apache.activemq | อาร์ทิมิส - คอมมอนส์ | 1.5.5 |
org.apache.activemq | อาร์ทิมิส - คอร์ - ไคลเอนต์ | 1.5.5 |
org.apache.activemq | Artemis-jms-client | 1.5.5 |
org.apache.activemq | เซิร์ฟเวอร์ artemis-jms | 1.5.5 |
org.apache.activemq | artemis- วารสาร | 1.5.5 |
org.apache.activemq | อาร์ทิมิสพื้นเมือง | 1.5.5 |
org.apache.activemq | อาร์ทิมิส - ตัวเลือก | 1.5.5 |
org.apache.activemq | เซิร์ฟเวอร์อาร์ทิมิส | 1.5.5 |
org.apache.activemq | อาร์ทิมิสบริการส่วนขยาย | 1.5.5 |
org.apache.commons | คอมมอนส์ -dbcp2 | 2.1.1 |
org.apache.commons | คอมมอนส์พูล 2 | 2.4.2 |
org.apache.derby | ดาร์บี้ | 10.13.1.1 |
org.apache.httpcomponents | httpasyncclient | 4.1.3 |
org.apache.httpcomponents | httpclient | 4.5.3 |
org.apache.httpcomponents | httpcore | 4.4.8 |
org.apache.httpcomponents | httpmime | 4.5.3 |
org.apache.logging.log4j | log4j-1.2-api | 2.7 |
org.apache.logging.log4j | log4j-api | 2.7 |
org.apache.logging.log4j | log4j-api-scala_2.10 | 2.7 |
org.apache.logging.log4j | log4j-api-scala_2.11 | 2.7 |
org.apache.logging.log4j | log4j-core | 2.7 |
org.apache.logging.log4j | log4j-flume-ng | 2.7 |
org.apache.logging.log4j | log4j-iostreams | 2.7 |
org.apache.logging.log4j | log4j-jcl | 2.7 |
org.apache.logging.log4j | log4j-jmx-gui | 2.7 |
org.apache.logging.log4j | log4j-jul | 2.7 |
org.apache.logging.log4j | log4j-libibase | 2.7 |
org.apache.logging.log4j | log4j-nosql | 2.7 |
org.apache.logging.log4j | log4j-slf4j-im | 2.7 |
org.apache.logging.log4j | log4j-taglib | 2.7 |
org.apache.logging.log4j | log4j-web | 2.7 |
org.apache.solr | Solr-analysis-extras | 5.5.4 |
org.apache.solr | Solr-analytics | 5.5.4 |
org.apache.solr | เซลล์โซล | 5.5.4 |
org.apache.solr | การทำคลัสเตอร์ solr | 5.5.4 |
org.apache.solr | โซลร์คอร์ | 5.5.4 |
org.apache.solr | solr-dataimporthandler | 5.5.4 |
org.apache.solr | solr-dataimporthandler-extras | 5.5.4 |
org.apache.solr | solr-langid | 5.5.4 |
org.apache.solr | solr- แผนที่ลด | 5.5.4 |
org.apache.solr | solr-morphlines- เซลล์ | 5.5.4 |
org.apache.solr | solr-morphlines-core | 5.5.4 |
org.apache.solr | solr-solrj | 5.5.4 |
org.apache.solr | solr-test-framework | 5.5.4 |
org.apache.solr | solr-uima | 5.5.4 |
org.apache.solr | ความเร็วของโซลร์ | 5.5.4 |
org.apache.tomcat | tomcat-annotations-api | 8.5.23 |
org.apache.tomcat | tomcat-jdbc | 8.5.23 |
org.apache.tomcat | tomcat-jsp-api | 8.5.23 |
org.apache.tomcat.embed | tomcat-embed-core | 8.5.23 |
org.apache.tomcat.embed | tomcat-embed-el | 8.5.23 |
org.apache.tomcat.embed | แมวตัวผู้ฝังแจสเปอร์ | 8.5.23 |
org.apache.tomcat.embed | แมวตัวผู้ฝัง websocket | 8.5.23 |
org.aspectj | ด้าน | 1.8.11 |
org.aspectj | ด้าน jtools | 1.8.11 |
org.aspectj | แง่มุม | 1.8.11 |
org.assertj | assertj-core | 2.6.0 |
org.codehaus.btm | btm | 2.1.4 |
org.codehaus.groovy | ร่อง | 2.4.12 |
org.codehaus.groovy | groovy- ทั้งหมด | 2.4.12 |
org.codehaus.groovy | groovy มด | 2.4.12 |
org.codehaus.groovy | groovy-bsf | 2.4.12 |
org.codehaus.groovy | groovy คอนโซล | 2.4.12 |
org.codehaus.groovy | groovy-docgenerator | 2.4.12 |
org.codehaus.groovy | groovy-groovydoc | 2.4.12 |
org.codehaus.groovy | groovy-groovysh | 2.4.12 |
org.codehaus.groovy | groovy-jmx | 2.4.12 |
org.codehaus.groovy | groovy-json | 2.4.12 |
org.codehaus.groovy | groovy-jsr223 | 2.4.12 |
org.codehaus.groovy | groovy-nio | 2.4.12 |
org.codehaus.groovy | groovy-servlet | 2.4.12 |
org.codehaus.groovy | groovy-sql | 2.4.12 |
org.codehaus.groovy | แกว่งไปมา | 2.4.12 |
org.codehaus.groovy | แม่แบบ groovy | 2.4.12 |
org.codehaus.groovy | การทดสอบที่รุนแรง | 2.4.12 |
org.codehaus.groovy | groovy-testng | 2.4.12 |
org.codehaus.groovy | groovy-xml | 2.4.12 |
org.codehaus.janino | Janino | 2.7.8 |
org.crashub | crash.cli | 1.3.2 |
org.crashub | crash.connectors.ssh | 1.3.2 |
org.crashub | crash.connectors.telnet | 1.3.2 |
org.crashub | crash.embed.spring | 1.3.2 |
org.crashub | crash.plugins.cron | 1.3.2 |
org.crashub | crash.plugins.mail | 1.3.2 |
org.crashub | crash.shell | 1.3.2 |
org.eclipse.jetty | apache-jsp | 9.4.7.v20170914 |
org.eclipse.jetty | apache-jstl | 9.4.7.v20170914 |
org.eclipse.jetty | ท่าเทียบเรือ alpn ไคลเอนต์ | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-alpn-java-client | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-alpn-java-server | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-alpn-server | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-annotations | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-ant | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-client | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-continuation | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-deploy | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-hazelcast | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-http | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-http-spi | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-infinispan | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-io | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-jaas | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-jaspi | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-jmx | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-jndi | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-nosql | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-plus | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-proxy | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-quickstart | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-rewrite | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-runner | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-security | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-server | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-servlet | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-servlets | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-spring | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-start | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-unixsocket | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-util | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-util-ajax | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-webapp | 9.4.7.v20170914 |
org.eclipse.jetty | jetty-xml | 9.4.7.v20170914 |
org.eclipse.jetty.cdi | cdi-core | 9.4.7.v20170914 |
org.eclipse.jetty.cdi | cdi-servlet | 9.4.7.v20170914 |
org.eclipse.jetty.fcgi | fcgi-client | 9.4.7.v20170914 |
org.eclipse.jetty.fcgi | fcgi-server | 9.4.7.v20170914 |
org.eclipse.jetty.gcloud | jetty-gcloud-session-manager | 9.4.7.v20170914 |
org.eclipse.jetty.http2 | http2-client | 9.4.7.v20170914 |
org.eclipse.jetty.http2 | http2-common | 9.4.7.v20170914 |
org.eclipse.jetty.http2 | http2-hpack | 9.4.7.v20170914 |
org.eclipse.jetty.http2 | http2-http-client-transport | 9.4.7.v20170914 |
org.eclipse.jetty.http2 | http2-server | 9.4.7.v20170914 |
org.eclipse.jetty.memcached | jetty-memcached-sessions | 9.4.7.v20170914 |
org.eclipse.jetty.orbit | javax.servlet.jsp | 2.2.0.v201112011158 |
org.eclipse.jetty.osgi | jetty-httpservice | 9.4.7.v20170914 |
org.eclipse.jetty.osgi | jetty-osgi-boot | 9.4.7.v20170914 |
org.eclipse.jetty.osgi | jetty-osgi-boot-jsp | 9.4.7.v20170914 |
org.eclipse.jetty.osgi | jetty-osgi-boot-warurl | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | javax-websocket-client-impl | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | javax-websocket-server-impl | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | websocket-api | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | websocket-client | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | websocket-common | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | websocket-server | 9.4.7.v20170914 |
org.eclipse.jetty.websocket | websocket-servlet | 9.4.7.v20170914 |
org.ehcache | ehcache | 3.2.3 |
org.ehcache | ehcache-clustered | 3.2.3 |
org.ehcache | ehcache-transactions | 3.2.3 |
org.elasticsearch | elasticsearch | 2.4.6 |
org.firebirdsql.jdbc | jaybird-jdk16 | 2.2.13 |
org.firebirdsql.jdbc | jaybird-jdk17 | 2.2.13 |
org.firebirdsql.jdbc | jaybird-jdk18 | 2.2.13 |
org.flywaydb | flyway-core | 3.2.1 |
org.freemarker | freemarker | 2.3.26-incubating |
org.glassfish | javax.el | 3.0.0 |
org.glassfish.jersey.bundles.repackaged | jersey-guava | 2.25.1 |
org.glassfish.jersey.containers | jersey-container-servlet | 2.25.1 |
org.glassfish.jersey.containers | jersey-container-servlet-core | 2.25.1 |
org.glassfish.jersey.core | jersey-client | 2.25.1 |
org.glassfish.jersey.core | jersey-common | 2.25.1 |
org.glassfish.jersey.core | jersey-server | 2.25.1 |
org.glassfish.jersey.ext | jersey-bean-validation | 2.25.1 |
org.glassfish.jersey.ext | jersey-entity-filtering | 2.25.1 |
org.glassfish.jersey.ext | jersey-spring3 | 2.25.1 |
org.glassfish.jersey.media | jersey-media-jaxb | 2.25.1 |
org.glassfish.jersey.media | jersey-media-json-jackson | 2.25.1 |
org.glassfish.jersey.media | jersey-media-multipart | 2.25.1 |
org.hamcrest | hamcrest-core | 1.3 |
org.hamcrest | hamcrest-library | 1.3 |
org.hibernate | hibernate-core | 5.0.12.Final |
org.hibernate | hibernate-ehcache | 5.0.12.Final |
org.hibernate | hibernate-entitymanager | 5.0.12.Final |
org.hibernate | hibernate-envers | 5.0.12.Final |
org.hibernate | hibernate-java8 | 5.0.12.Final |
org.hibernate | hibernate-jpamodelgen | 5.0.12.Final |
org.hibernate | hibernate-validator | 5.3.5.Final |
org.hibernate | hibernate-validator-annotation-processor | 5.3.5.Final |
org.hsqldb | hsqldb | 2.3.5 |
org.infinispan | infinispan-jcache | 8.2.8.Final |
org.infinispan | infinispan-spring4-common | 8.2.8.Final |
org.infinispan | infinispan-spring4-embedded | 8.2.8.Final |
org.javassist | javassist | 3.21.0-GA |
org.jboss | jboss-transaction-spi | 7.6.0.Final |
org.jboss.logging | jboss-logging | 3.3.1.Final |
org.jboss.narayana.jta | jdbc | 5.5.30.Final |
org.jboss.narayana.jta | jms | 5.5.30.Final |
org.jboss.narayana.jta | jta | 5.5.30.Final |
org.jboss.narayana.jts | narayana-jts-integration | 5.5.30.Final |
org.jdom | jdom2 | 2.0.6 |
org.jolokia | jolokia-core | 1.3.7 |
org.jooq | jooq | 3.9.6 |
org.jooq | jooq-codegen | 3.9.6 |
org.jooq | jooq-meta | 3.9.6 |
org.json | json | 20140107 |
org.liquibase | liquibase-core | 3.5.3 |
org.mariadb.jdbc | mariadb-java-client | 1.5.9 |
org.mockito | mockito-core | 1.10.19 |
org.mongodb | mongodb-driver | 3.4.3 |
org.mongodb | mongo-java-driver | 3.4.3 |
org.mortbay.jasper | apache-el | 8.0.33 |
org.neo4j | neo4j-ogm-api | 2.1.5 |
org.neo4j | neo4j-ogm-compiler | 2.1.5 |
org.neo4j | neo4j-ogm-core | 2.1.5 |
org.neo4j | neo4j-ogm-http-driver | 2.1.5 |
org.postgresql | postgresql | 9.4.1212.jre7 |
org.projectlombok | lombok | 1.16.18 |
org.seleniumhq.selenium | htmlunit-driver | 2.21 |
org.seleniumhq.selenium | selenium-api | 2.53.1 |
org.seleniumhq.selenium | selenium-chrome-driver | 2.53.1 |
org.seleniumhq.selenium | selenium-firefox-driver | 2.53.1 |
org.seleniumhq.selenium | selenium-ie-driver | 2.53.1 |
org.seleniumhq.selenium | selenium-java | 2.53.1 |
org.seleniumhq.selenium | selenium-remote-driver | 2.53.1 |
org.seleniumhq.selenium | selenium-safari-driver | 2.53.1 |
org.seleniumhq.selenium | selenium-support | 2.53.1 |
org.skyscreamer | jsonassert | 1.4.0 |
org.slf4j | jcl-over-slf4j | 1.7.25 |
org.slf4j | jul-to-slf4j | 1.7.25 |
org.slf4j | log4j-over-slf4j | 1.7.25 |
org.slf4j | slf4j-api | 1.7.25 |
org.slf4j | slf4j-ext | 1.7.25 |
org.slf4j | slf4j-jcl | 1.7.25 |
org.slf4j | slf4j-jdk14 | 1.7.25 |
org.slf4j | slf4j-log4j12 | 1.7.25 |
org.slf4j | slf4j-nop | 1.7.25 |
org.slf4j | slf4j-simple | 1.7.25 |
org.spockframework | spock-core | 1.0-groovy-2.4 |
org.spockframework | spock-spring | 1.0-groovy-2.4 |
org.springframework | spring-aop | 4.3.12.RELEASE |
org.springframework | spring-aspects | 4.3.12.RELEASE |
org.springframework | spring-beans | 4.3.12.RELEASE |
org.springframework | spring-context | 4.3.12.RELEASE |
org.springframework | spring-context-support | 4.3.12.RELEASE |
org.springframework | spring-core | 4.3.12.RELEASE |
org.springframework | spring-expression | 4.3.12.RELEASE |
org.springframework | spring-instrument | 4.3.12.RELEASE |
org.springframework | spring-instrument-tomcat | 4.3.12.RELEASE |
org.springframework | spring-jdbc | 4.3.12.RELEASE |
org.springframework | spring-jms | 4.3.12.RELEASE |
org.springframework | springloaded | 1.2.8.RELEASE |
org.springframework | spring-messaging | 4.3.12.RELEASE |
org.springframework | spring-orm | 4.3.12.RELEASE |
org.springframework | spring-oxm | 4.3.12.RELEASE |
org.springframework | spring-test | 4.3.12.RELEASE |
org.springframework | spring-tx | 4.3.12.RELEASE |
org.springframework | spring-web | 4.3.12.RELEASE |
org.springframework | spring-webmvc | 4.3.12.RELEASE |
org.springframework | spring-webmvc-portlet | 4.3.12.RELEASE |
org.springframework | spring-websocket | 4.3.12.RELEASE |
org.springframework.amqp | spring-amqp | 1.7.4.RELEASE |
org.springframework.amqp | spring-rabbit | 1.7.4.RELEASE |
org.springframework.batch | spring-batch-core | 3.0.8.RELEASE |
org.springframework.batch | spring-batch-infrastructure | 3.0.8.RELEASE |
org.springframework.batch | spring-batch-integration | 3.0.8.RELEASE |
org.springframework.batch | spring-batch-test | 3.0.8.RELEASE |
org.springframework.boot | spring-boot | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-actuator | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-actuator-docs | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-autoconfigure | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-autoconfigure-processor | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-configuration-metadata | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-configuration-processor | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-devtools | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-loader | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-loader-tools | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-activemq | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-actuator | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-amqp | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-aop | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-artemis | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-batch | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-cache | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-cloud-connectors | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-cassandra | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-couchbase | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-elasticsearch | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-gemfire | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-jpa | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-ldap | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-mongodb | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-neo4j | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-redis | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-rest | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-data-solr | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-freemarker | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-groovy-templates | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-hateoas | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-integration | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jdbc | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jersey | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jetty | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jooq | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jta-atomikos | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jta-bitronix | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-jta-narayana | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-log4j2 | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-logging | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-mail | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-mobile | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-mustache | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-remote-shell | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-security | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-social-facebook | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-social-linkedin | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-social-twitter | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-test | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-thymeleaf | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-tomcat | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-undertow | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-validation | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-web | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-web-services | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-starter-websocket | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-test | 1.5.8.RELEASE |
org.springframework.boot | spring-boot-test-autoconfigure | 1.5.8.RELEASE |
org.springframework.cloud | spring-cloud-cloudfoundry-connector | 1.2.4.RELEASE |
org.springframework.cloud | spring-cloud-core | 1.2.4.RELEASE |
org.springframework.cloud | spring-cloud-heroku-connector | 1.2.4.RELEASE |
org.springframework.cloud | spring-cloud-localconfig-connector | 1.2.4.RELEASE |
org.springframework.cloud | spring-cloud-spring-service-connector | 1.2.4.RELEASE |
org.springframework.data | spring-cql | 1.5.8.RELEASE |
org.springframework.data | spring-data-cassandra | 1.5.8.RELEASE |
org.springframework.data | spring-data-commons | 1.13.8.RELEASE |
org.springframework.data | spring-data-couchbase | 2.2.8.RELEASE |
org.springframework.data | spring-data-elasticsearch | 2.1.8.RELEASE |
org.springframework.data | spring-data-envers | 1.1.8.RELEASE |
org.springframework.data | spring-data-gemfire | 1.9.8.RELEASE |
org.springframework.data | spring-data-jpa | 1.11.8.RELEASE |
org.springframework.data | spring-data-keyvalue | 1.2.8.RELEASE |
org.springframework.data | spring-data-ldap | 1.0.8.RELEASE |
org.springframework.data | spring-data-mongodb | 1.10.8.RELEASE |
org.springframework.data | spring-data-mongodb-cross-store | 1.10.8.RELEASE |
org.springframework.data | spring-data-mongodb-log4j | 1.10.8.RELEASE |
org.springframework.data | spring-data-neo4j | 4.2.8.RELEASE |
org.springframework.data | spring-data-redis | 1.8.8.RELEASE |
org.springframework.data | spring-data-rest-core | 2.6.8.RELEASE |
org.springframework.data | spring-data-rest-hal-browser | 2.6.8.RELEASE |
org.springframework.data | spring-data-rest-webmvc | 2.6.8.RELEASE |
org.springframework.data | spring-data-solr | 2.1.8.RELEASE |
org.springframework.hateoas | spring-hateoas | 0.23.0.RELEASE |
org.springframework.integration | spring-integration-amqp | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-core | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-event | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-feed | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-file | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-ftp | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-gemfire | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-groovy | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-http | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-ip | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-java-dsl | 1.2.3.RELEASE |
org.springframework.integration | spring-integration-jdbc | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-jms | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-jmx | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-jpa | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-mail | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-mongodb | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-mqtt | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-redis | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-rmi | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-scripting | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-security | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-sftp | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-stomp | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-stream | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-syslog | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-test | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-twitter | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-websocket | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-ws | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-xml | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-xmpp | 4.3.12.RELEASE |
org.springframework.integration | spring-integration-zookeeper | 4.3.12.RELEASE |
org.springframework.kafka | spring-kafka | 1.1.7.RELEASE |
org.springframework.kafka | spring-kafka-test | 1.1.7.RELEASE |
org.springframework.ldap | spring-ldap-core | 2.3.2.RELEASE |
org.springframework.ldap | spring-ldap-core-tiger | 2.3.2.RELEASE |
org.springframework.ldap | spring-ldap-ldif-batch | 2.3.2.RELEASE |
org.springframework.ldap | spring-ldap-ldif-core | 2.3.2.RELEASE |
org.springframework.ldap | spring-ldap-odm | 2.3.2.RELEASE |
org.springframework.ldap | spring-ldap-test | 2.3.2.RELEASE |
org.springframework.mobile | spring-mobile-device | 1.1.5.RELEASE |
org.springframework.plugin | spring-plugin-core | 1.2.0.RELEASE |
org.springframework.plugin | spring-plugin-metadata | 1.2.0.RELEASE |
org.springframework.restdocs | spring-restdocs-core | 1.1.3.RELEASE |
org.springframework.restdocs | spring-restdocs-mockmvc | 1.1.3.RELEASE |
org.springframework.restdocs | spring-restdocs-restassured | 1.1.3.RELEASE |
org.springframework.retry | spring-retry | 1.2.1.RELEASE |
org.springframework.security | spring-security-acl | 4.2.3.RELEASE |
org.springframework.security | spring-security-aspects | 4.2.3.RELEASE |
org.springframework.security | spring-security-cas | 4.2.3.RELEASE |
org.springframework.security | spring-security-config | 4.2.3.RELEASE |
org.springframework.security | spring-security-core | 4.2.3.RELEASE |
org.springframework.security | spring-security-crypto | 4.2.3.RELEASE |
org.springframework.security | spring-security-data | 4.2.3.RELEASE |
org.springframework.security | spring-security-jwt | 1.0.8.RELEASE |
org.springframework.security | spring-security-ldap | 4.2.3.RELEASE |
org.springframework.security | spring-security-messaging | 4.2.3.RELEASE |
org.springframework.security | spring-security-openid | 4.2.3.RELEASE |
org.springframework.security | spring-security-remoting | 4.2.3.RELEASE |
org.springframework.security | spring-security-taglibs | 4.2.3.RELEASE |
org.springframework.security | spring-security-test | 4.2.3.RELEASE |
org.springframework.security | spring-security-web | 4.2.3.RELEASE |
org.springframework.security.oauth | spring-security-oauth | 2.0.14.RELEASE |
org.springframework.security.oauth | spring-security-oauth2 | 2.0.14.RELEASE |
org.springframework.session | spring-session | 1.3.1.RELEASE |
org.springframework.session | spring-session-data-gemfire | 1.3.1.RELEASE |
org.springframework.session | spring-session-data-mongo | 1.3.1.RELEASE |
org.springframework.session | spring-session-data-redis | 1.3.1.RELEASE |
org.springframework.session | spring-session-hazelcast | 1.3.1.RELEASE |
org.springframework.session | spring-session-jdbc | 1.3.1.RELEASE |
org.springframework.social | spring-social-config | 1.1.4.RELEASE |
org.springframework.social | spring-social-core | 1.1.4.RELEASE |
org.springframework.social | spring-social-facebook | 2.0.3.RELEASE |
org.springframework.social | spring-social-facebook-web | 2.0.3.RELEASE |
org.springframework.social | spring-social-linkedin | 1.0.2.RELEASE |
org.springframework.social | spring-social-security | 1.1.4.RELEASE |
org.springframework.social | spring-social-twitter | 1.1.2.RELEASE |
org.springframework.social | spring-social-web | 1.1.4.RELEASE |
org.springframework.ws | spring-ws-core | 2.4.0.RELEASE |
org.springframework.ws | spring-ws-security | 2.4.0.RELEASE |
org.springframework.ws | spring-ws-support | 2.4.0.RELEASE |
org.springframework.ws | spring-ws-test | 2.4.0.RELEASE |
org.thymeleaf | thymeleaf | 2.1.5.RELEASE |
org.thymeleaf | thymeleaf-spring4 | 2.1.5.RELEASE |
org.thymeleaf.extras | thymeleaf-extras-conditionalcomments | 2.1.2.RELEASE |
org.thymeleaf.extras | thymeleaf-extras-java8time | 2.1.0.RELEASE |
org.thymeleaf.extras | thymeleaf-extras-springsecurity4 | 2.1.3.RELEASE |
org.webjars | hal-browser | 9f96c74 |
org.webjars | webjars-locator | 0.32-1 |
org.xerial | sqlite-jdbc | 3.15.1 |
org.yaml | snakeyaml | 1.17 |
redis.clients | jedis | 2.9.0 |
wsdl4j | wsdl4j | 1.6.3 |
xml-apis | xml-apis | 1.4.01 |
ในบทนี้เราจะเรียนรู้เกี่ยวกับ Default Statements ใน Spring Boot CLI ในการเริ่มต้นเราจะเรียนรู้เกี่ยวกับการนำเข้าเริ่มต้น
การนำเข้าเริ่มต้น
Spring CLI จะนำเข้าไลบรารีจำนวนมากโดยอัตโนมัติตามค่าเริ่มต้นดังนั้นจึงไม่จำเป็นต้องมีการนำเข้าอย่างชัดเจน ตอนนี้ให้เราพิจารณาสคริปต์ที่น่าสนใจต่อไปนี้เพื่อทำความเข้าใจการนำเข้าเริ่มต้น
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
ที่นี่นำเข้าสำหรับ @RestController คำอธิบายประกอบ @RequestMapping จะรวมอยู่แล้วโดยค่าเริ่มต้นโดย Spring Boot เราไม่จำเป็นต้องใช้ชื่อที่มีคุณสมบัติครบถ้วนด้วยซ้ำ คุณสามารถตรวจสอบได้โดยเรียกใช้แอปพลิเคชัน
พิมพ์คำสั่งต่อไปนี้ -
E:/Test/> spring run FirstApplication.groovy
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-07 19:22:17.310 INFO 4824 --- [ runner-0] o.s.boot.SpringApplication
: Started application in 3.405 seconds (JVM running for 7.021)
วิธีหลักอัตโนมัติ
เราไม่จำเป็นต้องสร้างเมธอดหลักมาตรฐานสำหรับ groovy script เพื่อเริ่มต้นแอ็พพลิเคชัน Spring มันถูกสร้างขึ้นโดยอัตโนมัติสำหรับแอปพลิเคชันสปริงบูต
ในบทนี้เราจะเรียนรู้วิธีการสร้างตัวอย่างโครงการที่ใช้ Thymeleaf เพื่อแสดงความสามารถของ Spring CLI ทำตามขั้นตอนที่กล่าวถึงด้านล่างเพื่อสร้างโครงการตัวอย่าง -
ซีเนียร์ No | ขั้นตอนและคำอธิบาย |
---|---|
1 | สร้างโฟลเดอร์ที่มีชื่อTestApplicationมีโฟลเดอร์ย่อยแม่แบบและแบบคงที่ |
2 | สร้างmessage.groovyในโฟลเดอร์TestApplication , message.htmlในโฟลเดอร์แม่แบบ , index.htmlในโฟลเดอร์แบบคงที่ตามที่อธิบายด้านล่าง |
3 | คอมไพล์และเรียกใช้แอปพลิเคชันเพื่อตรวจสอบผลลัพธ์ของตรรกะที่ใช้งาน |
TestApplication / message.groovy
@Controller
@Grab('spring-boot-starter-thymeleaf')
class MessageController {
@RequestMapping("/message")
String getMessage(Model model) {
String message = "Welcome to TutorialsPoint.Com!";
model.addAttribute("message", message);
return "message";
}
}
TestApplication / template / message.html
<!DOCTYPE HTML>
<html xmlns:th = "http://www.thymeleaf.org">
<head>
<title>Spring Boot CLI Example</title>
<meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8" />
</head>
<body>
<p th:text = "'Message: ' + ${message}" />
</body>
</html>
TestApplication / static / index.html
<!DOCTYPE HTML>
<html>
<head>
<title>Spring Boot CLI Example</title>
<meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8" />
</head>
<body>
<p>Go to <a href = "/msg">Message</a></p>
</body>
</html>
เรียกใช้แอปพลิเคชัน
ในการเรียกใช้แอปพลิเคชันให้พิมพ์คำสั่งต่อไปนี้ -
E:/Test/TestApplication/> spring run *.groovy
ตอนนี้ Spring Boot CLI จะเริ่มดำเนินการดาวน์โหลดการอ้างอิงที่จำเป็นเรียกใช้ tomcat แบบฝังปรับใช้แอปพลิเคชันและเริ่มต้นใช้งาน คุณสามารถดูผลลัพธ์ต่อไปนี้บนคอนโซล -
Resolving dependencies.............................
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-08 16:27:28.300 INFO 8360 --- [ runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-11-08 16:27:28.305 INFO 8360 --- [ runner-0] o.s.boot.SpringApplication : Started application in 4.203 seconds (JVM running for 38.792)
เรียกดูแอปพลิเคชันในเบราว์เซอร์
ตอนนี้แอปพลิเคชั่นพักสปริงของเราพร้อมแล้ว เปิด url เป็น "http://localhost:8080/"และคุณจะเห็นผลลัพธ์ต่อไปนี้ -
Go to Message
คลิกที่ลิงค์ข้อความและคุณจะเห็นผลลัพธ์ต่อไปนี้ -
Message − Welcome to TutorialsPoint.Com!
จุดสำคัญ
พิจารณาประเด็นต่อไปนี้เพื่อทำความเข้าใจการดำเนินการของ Spring CLI -
คำอธิบายประกอบ @Grab ('spring-boot-starter-thymeleaf') สั่งให้ CLI ดาวน์โหลดเวอร์ชัน spring-boot-starter-thymeleaf 1.5.8.RELEASE
Spring CLI จะตรวจจับเวอร์ชันโดยอัตโนมัติโดยใช้ข้อมูลเมตาเนื่องจากเราไม่ได้ระบุรหัสกลุ่มหรือรหัสเวอร์ชันที่นี่
สุดท้ายหลังจากการคอมไพล์โค้ดปรับใช้ war กับ tomcat แบบฝังเริ่มเซิร์ฟเวอร์ tomcat แบบฝังบนพอร์ตเริ่มต้น 8080
ในบทนี้เราจะทดสอบโครงการตัวอย่างที่สร้างขึ้นในHello World ตัวอย่างบทเพื่อแสดงให้เห็นถึงความสามารถในการทดสอบของ Spring CLI ทำตามขั้นตอนที่แสดงในตารางด้านล่างเพื่อทดสอบโครงการตัวอย่าง -
ซีเนียร์ No | ขั้นตอนและคำอธิบาย |
---|---|
1 | สร้างFirstApplication.groovyและTestFirstApplication.groovyในโฟลเดอร์Testตามที่อธิบายด้านล่าง |
2 | คอมไพล์และเรียกใช้แอปพลิเคชันเพื่อตรวจสอบผลลัพธ์ของตรรกะที่ใช้งาน |
FirstApplication / FirstApplication.groovy
@RestController
class FirstApplication {
@RequestMapping("/")
String welcome() {
"Welcome to TutorialsPoint.Com"
}
}
FirstApplication / TestFirstApplication.groovy
class TestFirstApplication {
@Test
void welcomeTest() {
assertEquals("Welcome to TutorialsPoint.Com", new FirstApplication().welcome())
}
}
เรียกใช้แอปพลิเคชัน
ในการเรียกใช้แอปพลิเคชันให้พิมพ์คำสั่งต่อไปนี้ -
E:/Test/FirstApplication/> spring test FirstApplication.groovy TestFirstApplication.groovy
ตอนนี้ Spring Boot CLI จะเริ่มดำเนินการดาวน์โหลดการอ้างอิงที่จำเป็นรวบรวมไฟล์ต้นฉบับและไฟล์ทดสอบและหน่วยทดสอบโค้ด ผลลัพธ์ต่อไปนี้จะถูกสร้างขึ้นบนคอนโซล -
Resolving dependencies........................................................
.
Time: 0.457
OK (1 test)
จุดสำคัญ
พิจารณาประเด็นต่อไปนี้เพื่อทำความเข้าใจการดำเนินการของ Spring CLI -
คำอธิบายประกอบ @Test สั่งให้ CLI ดาวน์โหลด JUnit เวอร์ชัน 4.12
Spring CLI จะตรวจหาเวอร์ชันโดยอัตโนมัติโดยใช้ข้อมูลเมตาเนื่องจากเราไม่ได้ระบุการอ้างอิงใด ๆ
สุดท้ายหลังจากการคอมไพล์โค้ดแล้วให้ทดสอบแอปพลิเคชัน
Spring boot CLI จัดเตรียมคำสั่ง jar เพื่อบรรจุแอปพลิเคชันเป็นไฟล์ jar ให้เราทดสอบโครงการตัวอย่างที่สร้างขึ้นในStarter Thymeleaf Project Chapter เพื่อแสดงให้เห็นถึงความสามารถในการบรรจุภัณฑ์ของ Spring CLI
ทำตามขั้นตอนที่อธิบายด้านล่างเพื่อจัดแพคเกจโครงการตัวอย่าง -
แพ็กเกจแอปพลิเคชัน
ในการทำแพ็กเกจแอปพลิเคชันเริ่มต้นด้วยการพิมพ์คำสั่งต่อไปนี้ -
E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy
เอาต์พุต
คำสั่งจะพิมพ์ผลลัพธ์ต่อไปนี้ -
E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy
เอาต์พุต
ตอนนี้คุณสามารถเห็นไฟล์ใหม่สองไฟล์ที่สร้างขึ้นในโฟลเดอร์ TestApplication
TestApplication.jar - ไฟล์ jar ที่ปฏิบัติการได้
TestApplication.jar.original - ไฟล์ jar ดั้งเดิม
รวม / ไม่รวม
ตามค่าเริ่มต้นไดเรกทอรีต่อไปนี้จะรวมอยู่ในเนื้อหา -
- public
- resources
- static
- templates
- META-INF
ตามค่าเริ่มต้นไดเรกทอรีต่อไปนี้จะถูกแยกออกพร้อมกับเนื้อหา -
- repository
- build
- target
- * .jar ไฟล์
- * .groovy ไฟล์
การใช้ --includeเราสามารถรวมไดเรกทอรีที่ยกเว้นไว้เป็นอย่างอื่นได้ การใช้--excludeเราสามารถยกเว้นไดเรกทอรีที่รวมไว้เป็นอย่างอื่นได้
การเรียกใช้ Jar ที่ปฏิบัติการได้
ในการรัน Jar ที่เรียกใช้งานได้ให้พิมพ์คำสั่งต่อไปนี้ -
E:/Test/TestApplication/> java -jar TestApplication.jar
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.8.RELEASE)
...
2017-11-08 16:27:28.300 INFO 8360 --- [ runner-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-11-08 16:27:28.305 INFO 8360 --- [ runner-0] o.s.boot.SpringApplication : Started application in 4.203 seconds (JVM running for 38.792)
เรียกดูแอปพลิเคชันในเบราว์เซอร์
ตอนนี้แอปพลิเคชั่นพักสปริงของเราพร้อมแล้ว เปิด url เป็น "http://localhost:8080/"และคุณจะเห็นผลลัพธ์ต่อไปนี้ -
Go to Message
คลิกที่ลิงค์ข้อความและคุณจะเห็นผลลัพธ์ต่อไปนี้ -
Message: Welcome to TutorialsPoint.Com!
Spring Boot CLI สามารถใช้เพื่อสร้างโปรเจ็กต์ใหม่โดยมี maven เป็นเครื่องมือสร้างเริ่มต้นโดยใช้คำสั่ง init Maven จะใช้https://start.spring.ioบริการ. ในตัวอย่างต่อไปนี้เราจะสร้างเว็บแอปพลิเคชันโดยใช้ไทม์ลีฟ ไปที่E:\Test โฟลเดอร์และพิมพ์คำสั่งต่อไปนี้ -
E:/Test> spring init --dependencies = web,thymeleaf MavenApplication.zip
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้ -
Using service at https://start.spring.io
Content saved to MavenApplication.zip
สร้างโครงการ Gradle
เราสามารถสร้างโครงการตาม Gradle ได้เช่นกันโดยการตั้งค่า --buildเป็น gradle เพื่อให้เข้าใจสิ่งนี้ในทางที่ดีขึ้นให้พิจารณาตัวอย่างด้านล่าง ไปที่E:\Test โฟลเดอร์และพิมพ์คำสั่งต่อไปนี้ -
E:/Test> spring init --build = gradle --java-version = 1.8 --dependencies = web,thymeleaf --packaging = war GradleApplication.zip
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้ -
Using service at https://start.spring.io
Content saved to GradleApplication.zip
Spring Boot CLI มีอินเทอร์เฟซ Shell เพื่อรันคำสั่งซึ่งเราสามารถรันคำสั่งได้โดยตรงดังที่แสดงด้านล่าง ไปที่E:\Test โฟลเดอร์และพิมพ์คำสั่งต่อไปนี้ -
E:/Test> spring shell
คำสั่งดังกล่าวจะสร้างผลลัพธ์ต่อไปนี้ -
?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.
รันคำสั่งในเชลล์
ในส่วนนี้เราจะเรียนรู้วิธีเรียกใช้คำสั่งในเชลล์ พิมพ์ต่อไปนี้และดูผลลัพธ์ -
version
Spring CLI v1.5.8.RELEASE
คุณสามารถกดแท็บเพื่อเติมคำสั่งโดยอัตโนมัติและพิมพ์ exit เพื่อจบเชลล์คอนโซล
ทดสอบแอปพลิเคชันในเชลล์
ตอนนี้ให้เราเรียนรู้วิธีทดสอบแอปพลิเคชันในเชลล์ พิมพ์รหัสบรรทัดต่อไปนี้และดูผลลัพธ์ -
E:\Test\FirstApplication>spring shell
?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.
$ test FirstApplication.groovy TestFirstApplication.groovy . Time: 0.347 OK (1 test) $ exit
E:\Test\FirstApplication>