


Bagaimana untuk menyelesaikan masalah kegagalan untuk memulakan springboot ditentukan profil
Profil yang ditentukan Springboot gagal dimulakan
Biasanya, pakej balang springboot dimulakan melalui –spring.profiles.active=dev, yang boleh dibaca Aplikasi -maklumat fail konfigurasi -dev.yml, mulakan
Semuanya sentiasa mengalami kemalangan
Permulaan ini sangat pelik Memasuki parameter persekitaran permulaan ini masih tiada kesan,
Ia sangat menakutkan, sangat tidak dijangka!
Daripada membaca application-dev.yml, ia membaca fail application.yml lalai
Walau bagaimanapun, menggunakan parameter permulaan jvm : java -jar -Dspring.profiles.active=dev, ia boleh dimulakan, yang membuktikan bahawa fail konfigurasi dev adalah sah
Bandingkan projek lain
penemuan kelas kemasukan aplikasi:
public static void main(String[] args){ SpringApplication.run(Application.class,args); }
Apabila memanggil kaedah run, tiada args dihantar masuk!
Baca kod sumber dan ketahui, masukkan parameter permulaan, kemudian huraikan parameter masuk dan tetapkan sifat
< . , fail konfigurasi Keutamaan memuatkanSpringBoot membolehkan kami mempunyai berbilang fail konfigurasi, dan kemudian memuatkan fail konfigurasi yang sepadan secara dinamik berdasarkan keadaan apabila projek dimulakan.
Kini terdapat tiga konfigurasi, satu fail konfigurasi lalai (application.properties: kerana ia adalah nama yang ditentukan oleh SpringBoot, jadi ia dipanggil fail konfigurasi lalai) dan dua fail konfigurasi persekitaran yang ditentukan (application-prod .properties dan application-dev .properties: berkaitan dengan persekitaran yang sepadan, jadi ia dipanggil fail konfigurasi persekitaran yang ditetapkan)application-dev.properties
person.name=ZhangSan
person.age=18
Salin selepas log masuk
person.name=ZhangSan person.age=18
application-prod.properties
Simulasikan maklumat konfigurasi pengeluaranperson.name=LiSi person.age=19
application.properties
Nyatakan nombor port perkhidmatan dan fail konfigurasi yang perlu dimuatkan apabila projek bermula, SpringBoot akan secara automatik memadankan aplikasi-{spring.profiles.active}.properties, dan kemudian mencari fail konfigurasi application-dev.propertiesserver.port=8080 spring.profiles.active=dev #我们可以指定SpringBoot在启动时加载那个对应的配置文件
dicipta kelas Orang kes dan biarkannya Apabila dibuat seketika, baca maklumat daripada fail konfigurasi, baca peraturan: orang.{property name}, buat tika baharu Orang dan tambahkannya pada bekas IOC.
Buat permintaan dapatkan dan kembalikan contoh Person kami. Mari lihat jika nilai atribut perosn boleh memuatkan fail konfigurasi yang sepadan mengikut atribut spring.profiles.active yang kami tentukan dalam fail konfigurasi application.properties nilai dalam contoh nilai yang dijangkakan?@ConfigurationProperties(prefix = "person") //初始化的时候从配置文件中读取person.{属性名}的信息赋值给当前对象 @Data public class Person { private String name; private Integer age; } @Configuration //配置文件信息,将Person实例注入到IOC容器中 public class MyConfig { @Bean public Person person() { return new Person(); } }
@RequestMapping("/user")
public class PersonController {
@Autowired
private Person person;
@GetMapping
public Person getPerson() {
return person;
}
}
Salin selepas log masuk
Apabila projek dijalankan, lawati http://localhost:8080/user? dan hasilnya dikembalikan: @RequestMapping("/user") public class PersonController { @Autowired private Person person; @GetMapping public Person getPerson() { return person; } }
{"name":"ZhangSan","age":18}
Tukar nilai spring.profiles.active dalam aplikasi .properties untuk prod dan meminta akses kepada http: //localhost:8080/user, kembalikan hasil:{"name":"LiSi","age":19}Selain itu, jika kami telah memasang projek Dibungkus ke dalam balang, anda boleh menentukan nilai spring.profiles.active dengan memberikan nilai kepada parameter melalui baris arahan apabila memulakan projek SpringBoot
java -jar .\web-02-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
application.properties dan application.yaml
di bawah /config/{first- subdirektori level} di bawah direktori di mana pakej jar terletak
application.properties dan application.yaml di bawah /config dalam direktori di mana pakej jar terletak- application.properties dan application.properties di bawah direktori di mana pakej jar terletak application.yaml
- application.properties dan application.yaml dalam /config di bawah classpath
- application.properties dan application.yaml di bawah classpath
- Senarionya ialah: projek kami telah berjalan untuk masa yang lama dan fail konfigurasi perlu diubah suai disebabkan kecemasan. Tetapi kami tidak berani mengubah suai fail konfigurasi lama pada masa ini, kami boleh meletakkan fail penyelarasan baharu kami di tempat yang mempunyai keutamaan tinggi.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah kegagalan untuk memulakan springboot ditentukan profil. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Pengenalan kepada Jasypt Jasypt ialah perpustakaan java yang membenarkan pembangun menambah fungsi penyulitan asas pada projeknya dengan usaha yang minimum dan tidak memerlukan pemahaman yang mendalam tentang cara penyulitan berfungsi dengan tinggi untuk penyulitan sehala dan dua hala. teknologi penyulitan berasaskan piawai. Sulitkan kata laluan, teks, nombor, perduaan... Sesuai untuk penyepaduan ke dalam aplikasi berasaskan Spring, API terbuka, untuk digunakan dengan mana-mana pembekal JCE... Tambahkan kebergantungan berikut: com.github.ulisesbocchiojasypt-spring-boot-starter2 Faedah Jasypt melindungi keselamatan sistem kami Walaupun kod itu bocor, sumber data boleh dijamin.

1. Redis melaksanakan prinsip kunci teragih dan mengapa kunci teragih diperlukan Sebelum bercakap tentang kunci teragih, adalah perlu untuk menjelaskan mengapa kunci teragih diperlukan. Lawan daripada kunci yang diedarkan ialah kunci yang berdiri sendiri Apabila kami menulis program berbilang benang, kami mengelakkan masalah data yang disebabkan oleh mengendalikan pembolehubah yang dikongsi pada masa yang sama Kami biasanya menggunakan kunci untuk mengecualikan pembolehubah yang dikongsi bersama untuk memastikan ketepatannya pembolehubah yang dikongsi skop penggunaannya adalah dalam proses yang sama. Jika terdapat berbilang proses yang perlu mengendalikan sumber yang dikongsi pada masa yang sama, bagaimanakah ia boleh saling eksklusif? Aplikasi perniagaan hari ini biasanya merupakan seni bina perkhidmatan mikro, yang juga bermakna bahawa satu aplikasi akan menggunakan berbilang proses Jika berbilang proses perlu mengubah suai baris rekod yang sama dalam MySQL, untuk mengelakkan data kotor yang disebabkan oleh operasi yang tidak teratur, keperluan pengedaran. untuk diperkenalkan pada masa ini. Gaya dikunci. Ingin mencapai mata

Senario penggunaan 1. Tempahan berjaya dibuat tetapi pembayaran tidak dibuat dalam masa 30 minit. Pembayaran tamat masa dan pesanan dibatalkan secara automatik 2. Pesanan telah ditandatangani dan tiada penilaian dilakukan selama 7 hari selepas ditandatangani. Jika pesanan tamat dan tidak dinilai, sistem lalai kepada penilaian positif 3. Pesanan dibuat dengan jayanya jika peniaga tidak menerima pesanan selama 5 minit, pesanan itu dibatalkan peringatan mesej teks dihantar... Untuk senario dengan kelewatan yang lama dan prestasi masa nyata yang rendah, kami boleh Gunakan penjadualan tugas untuk melaksanakan pemprosesan undian biasa. Contohnya: xxl-job Hari ini kita akan memilih

Springboot membaca fail, tetapi tidak boleh mengakses perkembangan terkini selepas membungkusnya ke dalam pakej balang Terdapat situasi di mana springboot tidak boleh membaca fail selepas membungkusnya ke dalam pakej balang adalah tidak sah dan hanya boleh diakses melalui strim. Fail berada di bawah resources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

SpringBoot dan SpringMVC adalah kedua-dua rangka kerja yang biasa digunakan dalam pembangunan Java, tetapi terdapat beberapa perbezaan yang jelas antara mereka. Artikel ini akan meneroka ciri dan penggunaan kedua-dua rangka kerja ini dan membandingkan perbezaannya. Mula-mula, mari belajar tentang SpringBoot. SpringBoot telah dibangunkan oleh pasukan Pivotal untuk memudahkan penciptaan dan penggunaan aplikasi berdasarkan rangka kerja Spring. Ia menyediakan cara yang pantas dan ringan untuk membina bersendirian, boleh dilaksanakan

1. Sesuaikan RedisTemplate1.1, mekanisme siri lalai RedisAPI Pelaksanaan cache Redis berasaskan API menggunakan templat RedisTemplate untuk operasi cache data Di sini, buka kelas RedisTemplate dan lihat maklumat kod sumber kelas tersebut. Isytihar kunci, Pelbagai kaedah pesirilan nilai, nilai awal kosong @NullableprivateRedisSe

Apabila Springboot+Mybatis-plus tidak menggunakan pernyataan SQL untuk melaksanakan operasi penambahan berbilang jadual, masalah yang saya hadapi akan terurai dengan mensimulasikan pemikiran dalam persekitaran ujian: Cipta objek BrandDTO dengan parameter untuk mensimulasikan parameter yang dihantar ke latar belakang bahawa adalah amat sukar untuk melaksanakan operasi berbilang jadual dalam Mybatis-plus Jika anda tidak menggunakan alatan seperti Mybatis-plus-join, anda hanya boleh mengkonfigurasi fail Mapper.xml yang sepadan dan mengkonfigurasi ResultMap yang berbau dan kemudian. tulis pernyataan sql yang sepadan Walaupun kaedah ini kelihatan menyusahkan, ia sangat fleksibel dan membolehkan kita

Dalam projek, beberapa maklumat konfigurasi sering diperlukan Maklumat ini mungkin mempunyai konfigurasi yang berbeza dalam persekitaran ujian dan persekitaran pengeluaran, dan mungkin perlu diubah suai kemudian berdasarkan keadaan perniagaan sebenar. Kami tidak boleh mengekodkan konfigurasi ini dalam kod. Adalah lebih baik untuk menulisnya dalam fail konfigurasi Sebagai contoh, anda boleh menulis maklumat ini dalam fail application.yml. Jadi, bagaimana untuk mendapatkan atau menggunakan alamat ini dalam kod? Terdapat 2 kaedah. Kaedah 1: Kita boleh mendapatkan nilai yang sepadan dengan kunci dalam fail konfigurasi (application.yml) melalui ${key} beranotasi dengan @Value Kaedah ini sesuai untuk situasi di mana terdapat sedikit perkhidmatan mikro projek, Apabila perniagaan adalah rumit, logik
