Spring Boot CLI - Hướng dẫn nhanh

Spring Boot CLI là một giao diện dòng lệnh cho Spring Boot. Nó có thể được sử dụng để bắt đầu nhanh chóng với Spring. Nó có thể chạy các tập lệnh Groovy, có nghĩa là một nhà phát triển không cần viết mã soạn sẵn; tất cả những gì cần thiết là tập trung vào logic nghiệp vụ. Spring Boot CLI là cách nhanh nhất để tạo một ứng dụng dựa trên Spring.

Đặc trưng

Trong phần này, chúng ta sẽ xem xét các tính năng khác nhau của Spring Boot CL -

  • Nó cung cấp một giao diện để chạy và kiểm tra Ứng dụng Spring Boot từ dấu nhắc lệnh.

  • Nó sử dụng nội bộ các thành phần Spring Boot Starter và Spring Boot AutoConfigurate để giải quyết tất cả các phụ thuộc và thực thi ứng dụng.

  • Nó chứa trình biên dịch Groovy và Trình quản lý phụ thuộc nho.

  • Nó hỗ trợ Groovy Scripts mà không cần cài đặt Groovy bên ngoài.

  • Nó thêm mặc định Spring Boot và tự động giải quyết tất cả các phụ thuộc.

Spring là một framework dựa trên Java; do đó, chúng ta cần thiết lập JDK trước. Sau đây là các bước cần thiết để thiết lập Spring Boot CLI cùng với cài đặt JDK.

Bước 1 - Thiết lập Bộ phát triển Java (JDK)

Bạn có thể tải xuống phiên bản SDK mới nhất từ ​​trang web Java của Oracle - Java SE Downloads. Bạn sẽ tìm thấy hướng dẫn cài đặt JDK trong các tệp đã tải xuống, hãy làm theo hướng dẫn đã cho để cài đặt và định cấu hình thiết lập. Cuối cùng đặt các biến môi trường PATH và JAVA_HOME để tham chiếu đến thư mục chứa java và javac, thường làjava_install_dir/binjava_install_dir tương ứng.

Nếu bạn đang chạy Windows và đã cài đặt JDK trong C:\jdk1.6.0_15, bạn sẽ phải đặt dòng sau trong C:\autoexec.bat tập tin -

set PATH=C:\jdk1.6.0_15\bin;%PATH% 
set JAVA_HOME=C:\jdk1.6.0_15

Ngoài ra, trên Windows NT/2000/XP, bạn sẽ phải nhấp chuột phải vào My Computer, chọn Properties → Advanced → Environment Variables. Sau đó, bạn sẽ phải cập nhật giá trị PATH và nhấp vào nút OK.

Trên Unix (Solaris, Linux, v.v.), nếu SDK được cài đặt trong /usr/local/jdk1.6.0_15 và bạn sử dụng trình bao C, bạn sẽ phải đưa những thứ sau vào .cshrc tập tin -

setenv PATH /usr/local/jdk1.6.0_15/bin:$PATH 
setenv JAVA_HOME /usr/local/jdk1.6.0_15

Bước 2 - Cài đặt Spring Boot CLI

Bạn có thể tải xuống phiên bản mới nhất của Spring Boot CLI API dưới dạng kho lưu trữ ZIP từ https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/. Khi bạn tải xuống bản cài đặt, hãy giải nén bản phân phối zip vào một vị trí thuận tiện. Ví dụ, trongE:\Test\spring-1.5.8.RELEASE on Windows, hoặc là /usr/local/spring-1.5.8.RELEASE on Linux/Unix.

Đảm bảo rằng bạn đặt biến CLASSPATH của mình trên thư mục này đúng cách, nếu không bạn sẽ gặp sự cố khi chạy ứng dụng của mình.

Hoặc đặt tạm thời đường dẫn trong dấu nhắc lệnh để chạy ứng dụng khởi động mùa xuân như hình dưới đây -

E:/Test/> set path=E:\Test\spring-1.5.8.RELEASE\bin;%PATH%

Bước 3 - Xác minh cài đặt

Chạy lệnh sau trên dấu nhắc lệnh để xác minh cài đặt -

E:/Test/> spring --version

Nó sẽ in kết quả sau xác nhận cài đặt thành công -

Spring CLI v1.5.8.RELEASE

Trong ví dụ này, chúng tôi sẽ tạo một ứng dụng Web dựa trên Spring Boot + MVC + Rest.

Bước 1: Tạo thư mục nguồn

Tạo một thư mục FirstApplication trong E:\Test folder.

Bước 2: Tạo tệp nguồn

Tạo tệp FirstApplication.groovy trong E:\Test folder với mã nguồn sau -

@RestController
class FirstApplication {
   @RequestMapping("/")
   
   String welcome() {
      "Welcome to TutorialsPoint.Com"
   }
}

Bước 3: Chạy ứng dụng

Gõ lệnh sau:

E:/Test/> spring run FirstApplication.groovy

Bây giờ Spring Boot CLI sẽ hoạt động, tải xuống các phụ thuộc bắt buộc, chạy tomcat được nhúng, triển khai ứng dụng và khởi động nó. Bạn có thể thấy kết quả sau trên bảng điều khiển:

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 
      

Bước 4: Duyệt ứng dụng trong Trình duyệt

Ứng dụng nghỉ ngơi dựa trên mùa xuân của chúng tôi hiện đã sẵn sàng. Mở url bằng "http://localhost:8080/"và bạn sẽ thấy kết quả sau:

Hello World

Điểm quan trọng

Hãy xem xét các điểm sau để hiểu cách hoạt động của Spring CLI.−

  • Tất cả các JAR phụ thuộc chỉ được tải xuống lần đầu tiên.

  • Spring CLI tự động phát hiện các JAR phụ thuộc nào sẽ được tải xuống dựa trên các lớp và chú thích được sử dụng trong mã.

  • Cuối cùng sau khi biên dịch mã, hãy triển khai tệp chiến tranh trên tomcat được nhúng và khởi động máy chủ tomcat được nhúng trên cổng mặc định 8080.

Cơ sở mã Groovy tiêu chuẩn chứa @Grabchú thích để các phụ thuộc vào thư viện của bên thứ ba có thể được khai báo. Sử dụng chú thích @Grab, Trình quản lý phụ thuộc Grape tải xuống jar theo kiểu tương tự như của Maven / Gradle mà không cần bất kỳ công cụ xây dựng nào. Spring Boot cố gắng suy ra các thư viện cần thiết dựa trên mã. Ví dụ: việc sử dụng @RestController cho biết các thư viện "Tomcat" và "Spring MVC" phải được lấy.

Gợi ý lấy

Bảng sau trình bày chi tiết các gợi ý mà Spring Boot sử dụng để tải xuống các thư viện của bên thứ ba:

Sr.No. Gợi ý & Phụ thuộc vào Tải xuống / Liên kết
1

JdbcTemplate, NamedParameterJdbcTemplate, DataSource

Ứng dụng JDBC

2

@EnableJms

Ứng dụng JMS

3

@EnableCaching

Cache trừu tượng

4

@Test

JUnit

5

@EnableRabbit

RabbitMQ

6

@EnableReactor

Lò phản ứng dự án

7

extends Specification

Kiểm tra spock

số 8

@EnableBatchProcessing

Spring Batch

9

@MessageEndpoint, @EnableIntegrationPatterns

Hội nhập mùa xuân

10

@EnableDeviceResolver

Spring Mobile

11

@Controller, @RestController, @EnableWebMvc

Spring MVC + Embedded Tomcat

12

@EnableWebSecurity

An ninh mùa xuân

13

@EnableTransactionManagement

Quản lý giao dịch mùa xuân

Chúng tôi có thể chỉ định phụ thuộc bằng cách sử dụng chú thích @Grab ngay cả khi không chỉ định nhóm hoặc phiên bản. Ví dụ,

@Grab('antlr')

Bây giờ Spring Boot CLI sẽ tải xuống phiên bản 2.7.7 của antlrvì nó có trong siêu dữ liệu phụ thuộc mặc định của Spring Boot cho phiên bản 1.5.8. Spring Boot duy trì tất cả các phiên bản phụ thuộc theo mặc định được cung cấp trong CLI, quản lý phụ thuộc Maven và plugin Gradle. Bất cứ khi nào chúng tôi khai báo phần phụ thuộc của bất kỳ tạo tác nào trong số đó có trong siêu dữ liệu phụ thuộc mặc định mà không khai báo phiên bản, phiên bản được liệt kê trong bảng của nó sẽ được sử dụng.

Bảng sau đây cho thấy tất cả các phụ thuộc và phiên bản của chúng được bao gồm trong siêu dữ liệu mặc định cho phiên bản Spring Boot CLI 1.5.8.

Id nhóm Id phần mềm Phiên bản
antlr antlr 2.7.7
ch.qos.logback đăng nhập lại 1.1.11
ch.qos.logback logback-cổ điển 1.1.11
ch.qos.logback logback-core 1.1.11
com.atomikos giao dịch-jdbc 3.9.3
com.atomikos giao dịch-jms 3.9.3
com.atomikos giao dịch-jta 3.9.3
com.couchbase.client couchbase-spring-cache 2.1.0
com.couchbase.client java-client 2.3.7
com.datastax.cassandra cassandra-trình điều khiển-lõi 3.1.4
com.datastax.cassandra cassandra-driver-mapping 3.1.4
com.fasterxml bạn cùng lớp 1.3.4
com.fasterxml.jackson.core jackson-annotations 2,8,0
com.fasterxml.jackson.core jackson-core 2,8.10
com.fasterxml.jackson.core jackson-databind 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-avro 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-cbor 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-csv 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-ion 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-properties 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-protobuf 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-smile 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-xml 2,8.10
com.fasterxml.jackson.dataformat jackson-dataformat-yaml 2,8.10
com.fasterxml.jackson.datatype jackson-datatype-ổi 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-hibernate5 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-base 2,8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-cbor-nhà cung cấp 2,8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-json-nhà cung cấp 2,8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-smile-provider 2,8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-xml-nhà cung cấp 2,8.10
com.fasterxml.jackson.jaxrs jackson-jaxrs-yaml-nhà cung cấp 2,8.10
com.fasterxml.jackson.jr jackson-jr-all 2,8.10
com.fasterxml.jackson.jr jackson-jr-objects 2,8.10
com.fasterxml.jackson.jr jackson-jr-retrofit2 2,8.10
com.fasterxml.jackson.jr jackson-jr-stree 2,8.10
com.fasterxml.jackson.module jackson-module-afterburner 2,8.10
com.fasterxml.jackson.module jackson-module-guice 2,8.10
com.fasterxml.jackson.module jackson-module-jaxb-annotations 2,8.10
com.fasterxml.jackson.module jackson-module-jsonSchema 2,8.10
com.fasterxml.jackson.module jackson-module-kotlin 2,8.10
com.fasterxml.jackson.module jackson-module-mrbean 2,8.10
com.fasterxml.jackson.module jackson-module-osgi 2,8.10
com.fasterxml.jackson.module jackson-module-tham số-tên 2,8.10
com.fasterxml.jackson.module jackson-module-paranamer 2,8.10
com.fasterxml.jackson.module jackson-module-scala_2.10 2,8.10
com.fasterxml.jackson.module jackson-module-scala_2.11 2,8.10
com.fasterxml.jackson.module jackson-module-scala_2.12 2,8.10
com.gemstone.gemfire đá quý 8.2.7
com.github.ben-manes.caffeine cafein 2.3.5
com.github.mxab.thymeleaf.extras thymeleaf-extras-data-thuộc tính 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-đơn giản 1.1.1
com.h2database h2 1.4.196
com.hazelcast hazelcast 3.7.8
com.hazelcast hazelcast-client 3.7.8
com.hazelcast hazelcast-hibernate4 3.7.1
com.hazelcast hazelcast-hibernate5 1.1.3
com.hazelcast hazelcast-mùa xuân 3.7.8
com.jayway.jsonpath json-path 2.2.0
com.jayway.jsonpath json-path-khẳng định 2.2.0
com.microsoft.sqlserver mssql-jdbc 6.1.0.jre7
com.querydsl querydsl-apt 4.1.4
com.querydsl querydsl-collection 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
commons-beanutils commons-beanutils 1.9.3
commons-codec commons-codec 1.10
commons-bộ sưu tập commons-bộ sưu tập 3.2.2
commons-dbcp commons-dbcp 1,4
bình tiêu hóa bình tiêu hóa 2.1
bể bơi chung bể bơi chung 1,6
de.flapdoodle.embed de.flapdoodle.embed.mongo 1,50,5
dom4j dom4j 1.6.1
io.dropwizard.metrics metrics-annotation 3.1.5
io.dropwizard.metrics metrics-core 3.1.5
io.dropwizard.metrics metrics-ehcache 3.1.5
io.dropwizard.metrics metrics-ganglia 3.1.5
io.dropwizard.metrics metrics-graphite 3.1.5
io.dropwizard.metrics số liệu-kiểm tra sức khoẻ 3.1.5
io.dropwizard.metrics metrics-httpasyncclient 3.1.5
io.dropwizard.metrics metrics-jdbi 3.1.5
io.dropwizard.metrics metrics-jersey 3.1.5
io.dropwizard.metrics metrics-jersey2 3.1.5
io.dropwizard.metrics metrics-jetty8 3.1.5
io.dropwizard.metrics metrics-jetty9 3.1.5
io.dropwizard.metrics metrics-jetty9-inherit 3.1.5
io.dropwizard.metrics metrics-json 3.1.5
io.dropwizard.metrics metrics-jvm 3.1.5
io.dropwizard.metrics metrics-log4j 3.1.5
io.dropwizard.metrics metrics-log4j2 3.1.5
io.dropwizard.metrics metrics-logback 3.1.5
io.dropwizard.metrics metrics-servlet 3.1.5
io.dropwizard.metrics metrics-servlet 3.1.5
io.projectreactor xe buýt phản ứng 2.0.8.RELEASE
io.projectreactor lõi lò phản ứng 2.0.8.RELEASE
io.projectreactor lò phản ứng 2.0.8.RELEASE
io.projectreactor Lò phản ứng-groovy-phần mở rộng 2.0.8.RELEASE
io.projectreactor lò phản ứng-logback 2.0.8.RELEASE
io.projectreactor mạng lưới lò phản ứng 2.0.8.RELEASE
io.projectreactor lò phản ứng 2.0.8.RELEASE
io.projectreactor.spring lò phản ứng-mùa xuân-bối cảnh 2.0.7.RELEASE
io.projectreactor.spring lò phản ứng-lò xo-lõi 2.0.7.RELEASE
io.projectreactor.spring reactor-spring-nhắn tin 2.0.7.RELEASE
io.projectreactor.spring lò phản ứng-mùa xuân-webmvc 2.0.7.RELEASE
io.searchbox trò đùa 2.0.4
io.undertow underow-core 1.4.20. Cuối cùng
io.undertow undertow-servlet 1.4.20. Cuối cùng
io.undertow undertow-websockets-jsr 1.4.20. Cuối cùng
javax.cache 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 xác nhận-api 1.1.0 Cuối cùng
jaxen jaxen 1.1.6
joda-time joda-time 2,9,9
junit junit 4,12
mysql mysql-connector-java 5.1.44
net.java.dev.jna jna 4.2.2
net.java.dev.jna jna-platform 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 thymeleaf-layout-phương ngữ 1.4.0
org.apache.activemq activemq-amqp 5.14.5
org.apache.activemq activemq-blueprint 5.14.5
org.apache.activemq activemq-broker 5.14.5
org.apache.activemq activemq-lạc đà 5.14.5
org.apache.activemq activemq-client 5.14.5
org.apache.activemq activemq-console 5.14.5
org.apache.activemq activemq-http 5.14.5
org.apache.activemq activemq-jaas 5.14.5
org.apache.activemq activemq-jdbc-store 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-store 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-máy phát điện 5.14.5
org.apache.activemq activemq-openwire-inherit 5.14.5
org.apache.activemq activemq-osgi 5.14.5
org.apache.activemq phân vùng hoạt động 5.14.5
org.apache.activemq hồ bơi hoạt động 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-spring 5.14.5
org.apache.activemq activemq-stomp 5.14.5
org.apache.activemq activemq-web 5.14.5
org.apache.activemq artemis-amqp-protocol 1.5.5
org.apache.activemq artemis-commons 1.5.5
org.apache.activemq artemis-core-client 1.5.5
org.apache.activemq artemis-jms-client 1.5.5
org.apache.activemq artemis-jms-server 1.5.5
org.apache.activemq artemis-journal 1.5.5
org.apache.activemq artemis-bản địa 1.5.5
org.apache.activemq artemis-selector 1.5.5
org.apache.activemq artemis-server 1.5.5
org.apache.activemq artemis-service-extension 1.5.5
org.apache.commons commons-dbcp2 2.1.1
org.apache.commons commons-pool2 2.4.2
org.apache.derby trận 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-liquibase 2,7
org.apache.logging.log4j log4j-nosql 2,7
org.apache.logging.log4j log4j-slf4j-impl 2,7
org.apache.logging.log4j log4j-taglib 2,7
org.apache.logging.log4j log4j-web 2,7
org.apache.solr solr-phân tích-bổ sung 5.5.4
org.apache.solr solr-analytics 5.5.4
org.apache.solr solr-cell 5.5.4
org.apache.solr solr-clustering 5.5.4
org.apache.solr lõi 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-map-giảm 5.5.4
org.apache.solr solr-morphlines-cell 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 vận tốc 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-nhúng-core 8.5.23
org.apache.tomcat.embed tomcat-nhúng-el 8.5.23
org.apache.tomcat.embed tomcat-nhúng-jasper 8.5.23
org.apache.tomcat.embed tomcat-nhúng-websocket 8.5.23
org.aspectj khía cạnh 1.8.11
org.aspectj khía cạnh 1.8.11
org.aspectj khía cạnh 1.8.11
org.assertj khẳng định-cốt lõi 2.6.0
org.codehaus.btm btm 2.1.4
org.codehaus.groovy vui vẻ 2.4.12
org.codehaus.groovy vui vẻ-tất cả 2.4.12
org.codehaus.groovy Groovy-ant 2.4.12
org.codehaus.groovy Groovy-bsf 2.4.12
org.codehaus.groovy Groovy-console 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 groovy-swing 2.4.12
org.codehaus.groovy groovy-templates 2.4.12
org.codehaus.groovy groovy-test 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 jetty-alpn-client 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

Trong chương này, chúng ta sẽ tìm hiểu về các câu lệnh mặc định trong Spring Boot CLI. Để bắt đầu, chúng ta sẽ tìm hiểu về Nhập mặc định.

Nhập mặc định

Spring CLI tự động nhập nhiều thư viện theo mặc định để không cần nhập rõ ràng. Bây giờ chúng ta hãy xem xét tập lệnh thú vị sau để hiểu Nhập mặc định.

@RestController
class FirstApplication {
   @RequestMapping("/")
   
   String welcome() {
      "Welcome to TutorialsPoint.Com"
   }
}

Tại đây nhập cho @RestController, chú thích @RequestMapping đã được đưa vào mặc định bởi Spring Boot. Chúng tôi thậm chí không yêu cầu sử dụng các tên đủ điều kiện. Bạn có thể kiểm tra bằng cách chạy ứng dụng.

Gõ lệnh sau:

E:/Test/> spring run FirstApplication.groovy

Lệnh trên sẽ tạo ra kết quả sau trên bảng điều khiển:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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)

Phương pháp chính tự động

Chúng tôi không bắt buộc phải tạo phương thức chính tiêu chuẩn cho tập lệnh groovy để khởi tạo ứng dụng mùa xuân. Nó được tạo tự động cho ứng dụng khởi động mùa xuân.

Trong chương này, chúng ta sẽ học cách tạo một dự án dựa trên Thymeleaf mẫu để chứng minh khả năng của Spring CLI. Thực hiện theo bước được đề cập bên dưới để tạo một dự án mẫu -

Sr.No Bước & Mô tả
1 Tạo một Thư mục với tên TestApplication với các mẫu thư mục con và tĩnh .
2 Tạo message.groovy trong thư mục TestApplication , message.html trong thư mục mẫu , index.html trong thư mục tĩnh như được giải thích bên dưới.
3 Biên dịch và chạy ứng dụng để xác minh kết quả của logic được triển khai.

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 / templates / 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>

Chạy ứng dụng

Để chạy ứng dụng, hãy nhập lệnh sau:

E:/Test/TestApplication/> spring run *.groovy

Bây giờ Spring Boot CLI sẽ hoạt động, tải xuống các phụ thuộc bắt buộc, chạy tomcat được nhúng, triển khai ứng dụng và khởi động nó. Bạn có thể thấy kết quả sau trên bảng điều khiển:

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)

Duyệt ứng dụng trong Trình duyệt

Ứng dụng nghỉ ngơi dựa trên mùa xuân của chúng tôi hiện đã sẵn sàng. Mở url bằng "http://localhost:8080/"và bạn sẽ thấy kết quả sau:

Go to Message

Nhấp vào liên kết Tin nhắn và bạn sẽ thấy kết quả sau:

Message − Welcome to TutorialsPoint.Com!

Điểm quan trọng

Hãy xem xét các điểm sau để hiểu các hành động được thực hiện bởi Spring CLI -

  • Chú thích @Grab ('spring-boot-starter-thymeleaf') hướng dẫn CLI tải xuống phiên bản spring-boot-starter-thymeleaf 1.5.8.RELEASE.

  • Spring CLI tự động phát hiện phiên bản bằng cách sử dụng siêu dữ liệu của nó, vì chúng tôi chưa chỉ định bất kỳ id nhóm hoặc id phiên bản nào ở đây.

  • Cuối cùng sau khi biên dịch mã, triển khai cuộc chiến trên tomcat được nhúng, khởi động máy chủ tomcat được nhúng trên cổng mặc định 8080.

Trong chương này, chúng tôi sẽ kiểm tra dự án mẫu được tạo trong Chương Ví dụ của Hello World để chứng minh khả năng kiểm tra của Spring CLI. Làm theo các bước được liệt kê trong bảng dưới đây để kiểm tra dự án mẫu -

Sr.No Bước & Mô tả
1 Tạo FirstApplication.groovyTestFirstApplication.groovy trong thư mục Test như được giải thích bên dưới.
2 Biên dịch và chạy ứng dụng để xác minh kết quả của logic được triển khai.

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())
   }
}

Chạy ứng dụng

Để chạy ứng dụng, hãy nhập lệnh sau:

E:/Test/FirstApplication/> spring test FirstApplication.groovy TestFirstApplication.groovy

Bây giờ Spring Boot CLI sẽ hoạt động, tải xuống các phụ thuộc cần thiết, biên dịch nguồn và tệp thử nghiệm và kiểm tra đơn vị mã. Kết quả sau sẽ được tạo trên bảng điều khiển:

Resolving dependencies........................................................
.
Time: 0.457

OK (1 test)

Điểm quan trọng

Hãy xem xét các điểm sau để hiểu các hành động được thực hiện bởi Spring CLI -

  • Chú thích @Test hướng dẫn CLI tải xuống phiên bản JUnit 4.12.

  • Spring CLI tự động phát hiện phiên bản bằng siêu dữ liệu của nó, vì chúng tôi không chỉ định bất kỳ sự phụ thuộc nào.

  • Cuối cùng, sau khi biên dịch mã, hãy chạy thử ứng dụng.

Spring boot CLI cung cấp lệnh jar để đóng gói ứng dụng dưới dạng tệp jar. Hãy để chúng tôi kiểm tra dự án mẫu được tạo trong Chương dự án Starter Thymeleaf để chứng minh khả năng đóng gói của Spring CLI.

Thực hiện theo các bước mô tả bên dưới để đóng gói dự án mẫu -

Đóng gói ứng dụng

Để đóng gói ứng dụng, hãy bắt đầu bằng cách gõ lệnh sau:

E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy

Đầu ra

Lệnh sẽ in kết quả sau:

E:/Test/TestApplication/> spring jar TestApplication.jar *.groovy

Đầu ra

Bây giờ bạn có thể thấy hai tệp mới được tạo trong thư mục TestApplication.

  • TestApplication.jar - Một tệp jar thực thi.

  • TestApplication.jar.original - Hồ sơ gốc hũ.

Bao gồm loại trừ

Theo mặc định, các thư mục sau được bao gồm cùng với nội dung của chúng:

  • public
  • resources
  • static
  • templates
  • META-INF

Theo mặc định, các thư mục sau bị loại trừ cùng với nội dung của chúng -

  • repository
  • build
  • target
  • * .jar tệp
  • * .groovy tệp

Sử dụng --include, chúng tôi có thể bao gồm các thư mục bị loại trừ nếu không. Sử dụng--exclude, chúng tôi có thể loại trừ các thư mục bao gồm nếu không.

Chạy Jar thực thi

Để chạy Jar thực thi, hãy nhập lệnh sau:

E:/Test/TestApplication/> java -jar TestApplication.jar

Lệnh trên sẽ tạo ra kết quả sau trên bảng điều khiển:

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _> | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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)

Duyệt ứng dụng trong Trình duyệt

Ứng dụng nghỉ ngơi dựa trên mùa xuân của chúng tôi hiện đã sẵn sàng. Mở url bằng "http://localhost:8080/"và bạn sẽ thấy kết quả sau:

Go to Message

Nhấp vào liên kết Tin nhắn và bạn sẽ thấy kết quả sau:

Message: Welcome to TutorialsPoint.Com!

Spring Boot CLI có thể được sử dụng để tạo một dự án mới với maven làm công cụ xây dựng mặc định bằng lệnh init. Maven sẽ sử dụnghttps://start.spring.iodịch vụ. Trong ví dụ sau, chúng tôi sẽ tạo một ứng dụng web bằng thymeleaf. Đi đếnE:\Test thư mục và nhập lệnh sau:

E:/Test> spring init --dependencies = web,thymeleaf MavenApplication.zip

Lệnh trên sẽ tạo ra kết quả sau:

Using service at https://start.spring.io
Content saved to MavenApplication.zip

Tạo dự án Gradle

Chúng tôi cũng có thể tạo một dự án dựa trên Gradle bằng cách thiết lập --builddưới dạng gradle. Để hiểu điều này một cách tốt hơn, hãy xem xét ví dụ dưới đây. Đi đếnE:\Test thư mục và nhập lệnh sau:

E:/Test> spring init --build = gradle --java-version = 1.8 --dependencies = web,thymeleaf --packaging = war GradleApplication.zip

Lệnh trên sẽ tạo ra kết quả sau:

Using service at https://start.spring.io
Content saved to GradleApplication.zip

Spring Boot CLI cung cấp một giao diện Shell để chạy các lệnh trong đó chúng ta có thể chạy trực tiếp các lệnh như hình dưới đây. Đi đếnE:\Test thư mục và nhập lệnh sau:

E:/Test> spring shell

Lệnh trên sẽ tạo ra kết quả sau:

?[1mSpring Boot?[m?[2m (v1.5.8.RELEASE)?[m
Hit TAB to complete. Type 'help' and hit RETURN for help, and 'exit' to quit.

Chạy lệnh trong Shell

Trong phần này, chúng ta sẽ học cách chạy các lệnh trong Shell. Nhập nội dung sau và xem kết quả:

version
Spring CLI v1.5.8.RELEASE

Bạn có thể nhấn tab để tự động hoàn thành các lệnh và gõ exit để hoàn thành bảng điều khiển shell.

Kiểm tra ứng dụng trong shell

Bây giờ chúng ta hãy tìm hiểu cách kiểm tra ứng dụng trong shell. Nhập dòng mã sau và xem kết quả:

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>