Ứng dụng Java console với Spring Boot

Mặc định, khi chúng ta tạo một Spring Boot project, nó sẽ chạy như là một ứng dụng web với một embedded web container như Tomcat, Jetty. Vậy trong trường hợp chúng ta muốn chạy Spring Boot project đó như là một ứng dụng Java console bình thường, thì phải làm thế nào? Trong bài viết này, mình sẽ hướng dẫn các bạn cách tạo ứng dụng Java console với Spring Boot project các bạn nhé!

Đầu tiên, các bạn cũng tạo Spring Boot project bình thường sử dụng Spring Tool Suite IDE hoặc Spring Initializr Web, nhưng chú ý là trong phần chọn dependencies, các bạn không chọn gì cả nhé.

Ví dụ của mình như sau:

Ứng dụng Java console với Spring Boot

Để có thể chạy ví dụ này như là một ứng dụng Java console, các bạn hãy thêm implementation interface CommandLineRunner cho class main của ứng dụng Spring Boot các bạn nhé!

Trong ví dụ của mình là class SpringBootConsoleApplication:

Interface CommandLineRunner này có một phương thức mà chúng ta phải implement, đó là phương thức run(). Đây cũng chính là phương thức giúp chúng ta có thể thực thi code dưới console.

Ví dụ, giờ mình muốn in ra một message ở console thì mình sẽ code như sau:

Kết quả:

Ứng dụng Java console với Spring Boot

Giả sử, giờ mình có một bean HelloWorld với nội dung như sau:

Khi đó, mình có thể sử dụng bean HelloWorld như sau:

Kết quả:

Ứng dụng Java console với Spring Boot

Ngoài cách khai báo implementation như trên, có một cách khác nữa là các bạn cũng có thể định nghĩa một bean cho interface CommandLinerRunner.

Ví dụ như sau:

Kết quả cũng sẽ như trên đó các bạn!

3.5/5 - (9 bình chọn)

Add Comment