


Dalam pembangunan perisian moden, keupayaan untuk mengawal ciri dalam aplikasi langsung tanpa menggunakan kod baharu adalah penting. Keupayaan ini, yang dikenali sebagai pengurusan bendera ciri, membolehkan pasukan menghidupkan atau mematikan ciri dalam masa nyata, membolehkan penghantaran berterusan, ujian A/B dan keluaran kenari. Ia juga memainkan peranan penting dalam mengurangkan risiko yang berkaitan dengan penempatan baharu dengan mengawal pendedahan ciri baharu kepada pengguna.
Dalam artikel ini, kami akan melalui proses melaksanakan pengurusan bendera ciri dalam aplikasi Spring Boot menggunakan Togglz. Kami akan meneroka cara mengkonfigurasi Togglz, mentakrifkan bendera ciri dan mengawal kelakuannya dalam aplikasi anda.
1. Menyediakan Togglz dalam Aplikasi But Spring Anda
Untuk bermula dengan Togglz, anda perlu menambah kebergantungan yang diperlukan pada projek Spring Boot anda. Buka fail build.gradle atau pom.xml anda dan tambahkan kebergantungan berikut:
implementation 'org.togglz:togglz-spring-boot-starter:3.1.2' implementation 'org.togglz:togglz-console:3.3.3'
Kebergantungan ini termasuk fungsi teras Togglz dan konsol berasaskan web pilihan untuk mengurus bendera ciri anda.
2. Mengkonfigurasi Togglz
Seterusnya, anda perlu mengkonfigurasi Togglz dalam aplikasi Spring Boot anda. Ini melibatkan penyediaan kacang FeatureManager yang Togglz gunakan untuk mengurus bendera ciri anda.
Begini cara anda boleh melakukannya:
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.togglz.core.manager.FeatureManager; import org.togglz.core.manager.FeatureManagerBuilder; import org.togglz.core.repository.jdbc.JdbcStateRepository; import org.togglz.core.user.NoOpUserProvider; import javax.sql.DataSource; @Configuration public class TogglzConfiguration { private final DataSource dataSource; @Autowired public TogglzConfiguration(DataSource dataSource) { this.dataSource = dataSource; } @Bean public FeatureManager featureManager() { return new FeatureManagerBuilder() .featureEnum(ProductCheckFeature.class) .stateRepository(new JdbcStateRepository(dataSource)) .userProvider(new NoOpUserProvider()) .build(); } }
Penjelasan:
- DataSource: DataSource disuntik untuk digunakan oleh JdbcStateRepository. Ini membolehkan Togglz mengekalkan keadaan bendera ciri dalam pangkalan data.
- FeatureManager: FeatureManager dibina menggunakan FeatureManagerBuilder. Kami menentukan enum yang mentakrifkan ciri (ProductCheckFeature.class), menggunakan JdbcStateRepository untuk menyimpan keadaan ciri dan NoOpUserProvider kerana kami tidak mengaitkan pengguna dengan ciri dalam contoh ini.
3. Mentakrifkan Bendera Ciri dengan Enum
Togglz menggunakan enum untuk menentukan bendera ciri. Setiap pemalar dalam enum mewakili ciri yang boleh dihidupkan atau dimatikan. Berikut ialah contoh:
import org.togglz.core.Feature; import org.togglz.core.annotation.Label; public enum ProductCheckFeature implements Feature { @Label("product-check") PRODUCT_CHECK, }
Penjelasan:
Label: Anotasi @Label menyediakan nama yang boleh dibaca manusia untuk ciri tersebut. Nama ini akan dipaparkan dalam konsol Togglz jika anda memutuskan untuk menggunakannya.
4. Menggunakan Bendera Ciri dalam Aplikasi Anda
Setelah bendera ciri ditakrifkan dan konfigurasi disediakan, anda boleh mula menggunakannya dalam aplikasi anda. Berikut ialah contoh cara menyemak sama ada ciri aktif sebelum melaksanakan kod tertentu:
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.togglz.core.manager.FeatureManager; import reactor.core.publisher.Mono; import javax.servlet.http.HttpServletRequest; @RestController @RequestMapping("/api/products") public class ProductController { private final FeatureManager featureManager; private final ProductService productService; public ProductController(FeatureManager featureManager, ProductService productService) { this.featureManager = featureManager; this.productService = productService; } @GetMapping("/check") public Mono<responseentity>> checkProduct(@RequestParam String isbn, HttpServletRequest httpServletRequest) { if (featureManager.isActive(ProductCheckFeature.PRODUCT_CHECK)) { return productService .productCheck(isbn, JwtUtils.getUserJwt(httpServletRequest), Boolean.FALSE) .flatMap(response -> Mono.just(ResponseEntity.ok(response))); } return Mono.just(ResponseEntity.status(HttpStatus.NOT_IMPLEMENTED).body("Feature is disabled")); } } </responseentity>
Penjelasan:
- FeatureManager: FeatureManager disuntik ke dalam pengawal dan digunakan untuk menyemak sama ada ciri PRODUCT_CHECK aktif.
- Logik Bersyarat: Jika ciri aktif, operasi semakan produk dilakukan; jika tidak, mesej "Ciri dinyahdayakan" dikembalikan.
5. Menguruskan Bendera Ciri melalui Togglz Console
Konsol Togglz ialah alat berkuasa yang membolehkan anda mengurus bendera ciri anda melalui antara muka web. Untuk mendayakan konsol Togglz, cuma tambahkan sifat berikut pada fail application.properties atau application.yml anda:
implementation 'org.togglz:togglz-spring-boot-starter:3.1.2' implementation 'org.togglz:togglz-console:3.3.3'
Anda boleh mengakses konsol dengan menavigasi ke /togglz-console dalam penyemak imbas web anda. Konsol menyediakan antara muka yang mudah digunakan untuk menghidupkan atau mematikan ciri, menukar strateginya dan melihat keadaan semasanya.
Kesimpulan
Melaksanakan pengurusan bendera ciri dengan Togglz dalam aplikasi Spring Boot anda ialah proses mudah yang menawarkan kawalan berkuasa ke atas ciri anda. Dengan mengikut langkah yang digariskan dalam artikel ini, anda boleh mengkonfigurasi, mentakrif dan mengurus bendera ciri dengan mudah, membolehkan anda mengeluarkan ciri baharu dengan yakin dan fleksibiliti.
Sama ada anda melancarkan ciri baharu secara beransur-ansur, menjalankan ujian A/B atau sekadar ingin meminimumkan risiko penggunaan, Togglz menyediakan penyelesaian teguh yang disepadukan dengan lancar ke dalam aplikasi Spring Boot anda.
Selamat Pengekodan! ?
Atas ialah kandungan terperinci Melaksanakan Pengurusan Bendera Ciri dalam Aplikasi But Spring Anda Menggunakan Panggilan API dan UI dengan Togglz. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.