Artikel ini memperkenalkan integrasi Springboot dari Redis, Apachsolr dan Springsession, dan membagikannya kepada Anda. Dengan rincian sebagai berikut:
1. Pendahuluan
Sejak diluncurkan, Springboot telah disukai oleh pengembang untuk konfigurasinya yang nyaman. Ini menyediakan berbagai starter untuk menyederhanakan banyak konfigurasi yang membosankan. Integrasi Springboot dari Druid dan Mybatis adalah hal biasa, jadi saya tidak akan memperkenalkannya secara rinci di sini. Hari ini kita akan memperkenalkan penggunaan Springboot untuk mengintegrasikan Redis, Apachesolr dan Springsession.
2. Springboot mengintegrasikan Redis
Redis adalah salah satu cache yang paling umum digunakan. Secara umum, Redis akan membangun ketersediaan tinggi (HA), cluster atau sentinel. Untuk metode konstruksi tertentu, silakan merujuk ke dokumentasi Redis resmi. Kami telah memberikan contoh dari Sentinel di sini. Biasanya ada 3 node untuk membangun redissentinel. Pelabuhan Redis umumnya 6379, dan pelabuhan Sentinel umumnya 26379.
Jika kami ingin menggunakan Springboot untuk mengintegrasikan Redis, kami harus terlebih dahulu menambahkan starter Redis yang sesuai ke POM:
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-data-redis </artifactid> </dependency>
Setelah memperkenalkan paket JAR, kami dapat secara langsung menambahkan konfigurasi Redissentinel untuk menyelesaikan integrasi dalam file application.properties.
spring.redis.sentinel.master = mymasterspring.redis.sentinel.nodes = 192.168.2.233: 26379.192.168.2.234: 26379.192.168.2.235: 26379 spring.redis.pool.max-active = 1024spring.redis.pool.max-idle = 200spring.redis.pool.min-idle = 100spring.redis.pool.max-wait = 10000
Sentinel.master adalah nama master. Nama default MyMaster digunakan saat kami membangun redissentinel.
Sentinel.nodes adalah simpul sentinel. Perhatikan bahwa itu adalah simpul sentinel, bukan simpul Redis. Gunakan format port IP: dan beberapa node dipisahkan oleh ",".
Berikut adalah beberapa informasi koneksi kumpulan:
Dalam program ini, kami dapat secara langsung menyuntikkan redistemplate untuk beroperasi di Redis
@AutowiredPrivate StringRedistemplate StrreDistemplate;
Pada titik ini, Redis telah terintegrasi.
3. Springboot mengintegrasikan Springsession
Springsession menyediakan manajemen sesi cluster tanpa melewati wadah. Ini dapat mengakses lapisan penyimpanan yang berbeda, seperti: basis data, redis, mongoDB, dll. Ini dapat dikombinasikan dengan mulus dengan springboot.
Pertama, kami memperkenalkan Springsession ke dalam proyek dan menambahkan konfigurasi berikut ke POM:
<dependency> <GroupId> org.springframework.Session </groupId> <ArTifactId> Penyiar Musim Semi </artifactid> </dependency>
Kemudian tentukan jenis penyimpanan SpringSession di Application.Properties:
Spring.Session.Store-Type = Redis
Ini adalah integrasi springsession yang sangat sederhana. Jika ada persyaratan khusus untuk cookie, Anda dapat membuat kacang cookie baru di proyek untuk mengganti kacang secara otomatis dibuat oleh springboot. Dengan rincian sebagai berikut:
@Bean Public DefaultCookieserializer cookieserializer () {defaultCookieserializer cookie = new DefaultCookieserializer (); cookie.setCookiename ("springboot_id"); Kembali Cookie; }Dalam contoh di atas, kami telah memodifikasi nama cookie. Jika Anda perlu memodifikasi properti lain, harap atur nilai properti yang relevan.
4. Springboot mengintegrasikan Solr
Apachesolr adalah mesin pencari yang relatif umum, dan Springboot juga dapat mengintegrasikan SOLR dengan sangat mudah untuk dikembangkan semua orang. Untuk konsep spesifik dan penggunaan Apachesolr, silakan berkonsultasi dengan dokumen yang relevan sendiri. Saat membangun Solr, kami biasanya menggunakan Zookeeper untuk membangun Solrcloud untuk meningkatkan kegunaan Solr. Di sini kami mengatur Solrcloud.
Pertama kami memperkenalkan starter Apachesolr:
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-data-solr </t Artifactid> </dependency>
Di application.properties, tambahkan informasi zookeeper, sebagai berikut:
Salinan kode adalah sebagai berikut:
spring.data.solr.zk-host = 192.168.2.233: 2181.192.168.2.234: 2181.192.168.2.235: 2181
Ketika beberapa penjaga kebun binatang dipisahkan oleh ",".
Dengan cara ini, Springboot mengintegrasikan Apachesolr, yang sangat nyaman. Selanjutnya kita dapat menggunakan data musim semi untuk mengakses Solr.
1. Tulis data yang dikembalikan oleh kelas entitas Anda sendiri yang sesuai dengan Solr. Kode spesifiknya adalah sebagai berikut:
@Setter@getter@solrdocument (solrcorename = "xy_company") kelas publik solrCompany {@field ("id") private string id; @Field ("CompanyName_TXT") Private String CompanyName; }@Setter@getter kedua anotasi lebih umum, dan digunakan untuk menghasilkan metode get and atur.
@Solrdocument (solrcorename = "xy_company"), yang menentukan bahwa entitas ini sesuai dengan inti atau koleksi di Solr. Core adalah nama dalam satu contoh, dan koleksi adalah nama di Solrcloud, yang berarti kira -kira sama.
@Field ("ID"), digunakan untuk menentukan bidang yang sesuai di Solr.
2. Tulis lapisan penyimpanan Anda sendiri dan wariskan solrcrudrepository, sebagai berikut:
Public Interface CompanyRepository memperluas solrcrudrepository <solrCompany, string> {list <solrCompany> findByCompanyname (string companyName);}Dengan cara ini, lapisan penyimpanan ini dapat mengakses Solr. Jika beberapa lapisan penyimpanan berbagi satu entitas, beberapa lapisan penyimpanan dapat ditulis untuk mewarisi repositori yang berbeda. Untuk detailnya, silakan merujuk ke data musim semi.
3. Dalam bisnis Anda sendiri, gunakan Solr
Daftar Publik <SolrCompany> getCompanybyName (String CompanyName) {return companyRepository.findbyCompanyname (CompanyName); }Pada titik ini, Springboot mengintegrasikan Solr, sangat sederhana.
Selanjutnya, kami juga akan memperkenalkan integrasi beberapa kerangka kerja utama, seperti: MongoDB, kafka, dll. Untuk kode terperinci saat ini, silakan merujuk ke github saya: https://github.com/bigbugliu/spring-boot-demo.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.