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/bin và java_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.groovy và TestFirstApplication.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>