Panduan Musim Semi di Eclipse STS

Java Top

Saya baru saja mengumumkan kursus Learn Spring baru , yang berfokus pada dasar-dasar Spring 5 dan Spring Boot 2:

>> LIHAT KURSUSnya

1. Ikhtisar

Artikel ini mengilustrasikan beberapa fitur berguna dari Eclipse Spring Tool Suite (STS) IDE, yang berguna saat mengembangkan aplikasi Spring.

Pertama kami menunjukkan keuntungan menggunakan STS dibandingkan dengan cara tradisional membangun aplikasi dengan Eclipse.

Setelah itu, kami fokus pada bagaimana mem-bootstrap aplikasi, bagaimana menjalankannya dan bagaimana menambahkan dependensi tambahan. Akhirnya kami menyimpulkan dengan menambahkan argumen aplikasi.

2. Fitur Utama STS

STS adalah lingkungan pengembangan berbasis Eclipse yang disesuaikan untuk pengembangan aplikasi Spring.

Ini menyediakan lingkungan yang siap digunakan untuk mengimplementasikan, men-debug, menjalankan, dan menerapkan aplikasi Anda. Ini juga mencakup integrasi untuk Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven dan AspectJ. STS dibangun sebagai tambahan di atas rilis Eclipse terbaru.

2.1. Konfigurasi Proyek

STS memahami hampir semua struktur proyek Java yang paling umum. Ini mem-parsing file konfigurasi dan kemudian menampilkan informasi rinci tentang kacang yang ditentukan, ketergantungan, ruang nama yang digunakan dan sebagai tambahan mengekstrak ikhtisar untuk stereotip tertentu.

2.2. Ikhtisar Fitur STS

Eclipse STS memvalidasi proyek Anda dan memberikan perbaikan cepat untuk aplikasi Anda. Misalnya, saat bekerja dengan Spring Data JPA, IDE dapat digunakan untuk memvalidasi nama metode kueri (lebih lanjut tentang ini di bagian 6).

STS juga menyediakan tampilan grafis pada semua metode kacang dan hubungan timbal baliknya. Anda mungkin ingin melihat lebih dekat editor grafis yang disertakan dengan STS dengan melihat tampilan yang tersedia di bawah jendela menu , show view dan kemudian Spring .

STS juga menawarkan fitur berguna tambahan lainnya yang tidak terbatas pada aplikasi Spring saja. Pembaca disarankan untuk melihat daftar lengkap fitur yang dapat ditemukan di sini.

3. Pembuatan Aplikasi Musim Semi

Mari kita mulai dengan melakukan bootstrap pada aplikasi sederhana. Tanpa STS, aplikasi Spring biasanya dibuat dengan menggunakan situs web Spring Initializer atau CLI Spring Boot. Ini dapat disederhanakan dengan mengklik Create Spring Starter Project dari dashboard Anda di STS.

Di layar New Spring Starter Project, gunakan default atau buat penyesuaian Anda sendiri, lalu lanjutkan ke layar berikutnya. Pilih Web dan klik selesai. Pom.xml Anda sekarang akan terlihat seperti ini:

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE     UTF-8 1.8    org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-test test  

Versi Spring Boot Anda mungkin berbeda tetapi versi terbaru selalu dapat ditemukan di sini.

4. Menjalankan Aplikasi

Aplikasi yang disebutkan di atas dapat dimulai dengan mengklik kanan pada proyek dan memilih jalankan sebagai Aplikasi Boot Musim Semi . Tanpa STS, kemungkinan besar Anda akan menjalankan aplikasi dari baris perintah dengan perintah berikut:

$ mvn spring-boot:run

Secara default, aplikasi Spring dimulai dengan Tomcat yang berjalan pada port 8080. Pada titik ini, aplikasi dimulai pada port 8080 dan pada dasarnya tidak melakukan apa pun karena kami belum mengimplementasikan kode apa pun. Bagian 8 menunjukkan kepada Anda bagaimana mengubah port default.

5. Logging dan Konsol ANSI

Saat Anda menjalankan proyek dari IDE menggunakan perintah run, Anda akan melihat bahwa konsol mengeluarkan beberapa pernyataan log berkode warna yang bagus. Jika Anda ingin menonaktifkannya, buka menjalankan konfigurasi … dan nonaktifkan kotak centang Aktifkan output konsol ANSI di tab Spring Boot . Cara lainnya, Anda juga dapat menonaktifkannya dengan menyetel nilai properti di file application.properties .

spring.output.ansi.enabled=NEVER

Informasi lebih lanjut tentang konfigurasi log aplikasi Anda dapat ditemukan di sini.

6. Pemeriksaan Nama Kueri JPA

Terkadang menerapkan lapisan akses data mungkin merupakan aktivitas yang tidak praktis. Banyak kode boilerplate mungkin harus ditulis untuk mewujudkan kueri sederhana dan melakukan penomoran halaman. Spring Data JPA (JPA) bertujuan untuk secara signifikan memfasilitasi implementasi lapisan akses data. Bagian ini mengilustrasikan beberapa manfaat penggunaan JPA terkait dengan STS.

Untuk memulai, tambahkan dependensi berikut untuk JPA ke pom.xml yang dibuat sebelumnya :

 org.springframework.boot spring-boot-starter-data-jpa   com.h2database h2 

Anda mungkin telah memperhatikan bahwa versi belum ditentukan dalam pernyataan di atas. Hal ini disebabkan oleh fakta bahwa dependensi dikelola dari pom.xml induk :

 org.springframework.boot spring-boot-starter-parent 1.3.6.RELEASE 

Agar JPA berfungsi, Anda harus menentukan manajer entitas dan manajer transaksi Anda dengan benar. Namun, Spring secara otomatis mengonfigurasi ini untuk Anda. Satu-satunya hal yang tersisa untuk pengembang adalah membuat kelas entitas yang sebenarnya. Entitas ini dikelola oleh pengelola entitas, yang kemudian dibuat oleh penampung. Mari kita misalnya membuat kelas entitas Foo seperti ini:

@Entity public class Foo implements Serializable { @Id @GeneratedValue private Integer id; private String name; // Standard getters and setters }

Container memindai semua kelas yang dianotasi dengan @Entity dari root paket konfigurasi. Selanjutnya kita membuat repositori JPA untuk entitas Foo :

public interface FooRepository extends JpaRepository { public Foo findByNames(String name); }

Pada tahap ini, Anda mungkin telah memperhatikan bahwa IDE sekarang menandai metode kueri ini dengan pengecualian:

Invalid derived query! No property names found for type Foo! 

This is of course due to the fact that we have accidentally written an ‘s' in the method name of the JPA repository. To fix this remove the spurious ‘s' like so:

public Foo findByName(String name);

Notice that no @EnableJpaRepositories was used on the config class. This is because the container's AutoConfigration pre-registers one for the project.

7. Jar Type Search

“Jar Type Search” is a feature that was introduced in STS 3.5.0. It provides content-assisted proposals in projects for classes that are not (yet) on the classpath. STS may help you adding dependencies to your POM file in case they are not yet on the classpath.

For example, let us add a line to the Foo entity class. For this example to work properly, please ensure first that the import statement for java.util.List is already present. Now we may add Google Guava as follows:

private List strings = Lists // ctrl + SPACE to get code completion

The IDE will suggest several dependencies to be added to the classpath. Add the dependency from com.google.common.collect,press return and add the dependency from Guava. The Guava jar will now automatically be added to your pom.xml file like so:

 com.google.guava guava 19.0  

As of version STS 3.8.0, you get a confirmation dialog box before STS makes its changes to your pom.xml.

8. Adding Application Arguments

One of the other powerful features of Spring is the support of external configurations which can be passed to an application in several ways, e.g. as command-line arguments, specified in properties or YAML files or as system properties. In this section, we focus on adding a configuration option as application start argument using STS. This is illustrated by configuring Tomcat to start on a different port.

In order to run an application on a Tomcat port other than the default, you may use the command below, where a custom port is specified as command-line argument:

mvn spring-boot:run -Drun.arguments="--server.port=7070"

When using STS, you have go to the run menu. Select run configurations… from the Run Configurations dialog, select Spring Boot App from the left panel and select demo – DemoApplication (this will be different if you did not select the default project). From (x)= Arguments tab type in the Program Arguments window

--server.port=7070

and run. You should see output in your console similar to the output that is shown below:

. . 2016-07-06 13:51:40.999 INFO 8724 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 7070 (http) 2016-07-06 13:51:41.006 INFO 8724 --- [ main] com.baeldung.boot.DemoApplication : Started DemoApplication in 6.245 seconds (JVM running for 7.34)

9. Conclusion

Pada artikel ini kami telah menunjukkan dasar-dasar pengembangan proyek Musim Semi di STS. Beberapa hal yang telah kami tunjukkan adalah eksekusi aplikasi di STS, dukungan selama pengembangan JPA Data Musim Semi dan penggunaan argumen baris perintah. Namun, ada lebih banyak fitur berguna yang dapat digunakan selama pengembangan karena STS menawarkan serangkaian fitur yang kaya.

The implementasi penuh dari artikel ini dapat ditemukan dalam proyek github - ini adalah proyek berbasis Eclipse, sehingga harus mudah untuk impor dan berjalan seperti itu.

Jawa bawah

Saya baru saja mengumumkan kursus Learn Spring baru , yang berfokus pada dasar-dasar Spring 5 dan Spring Boot 2:

>> LIHAT KURSUSnya