برنامه نویسی

بوته بهار

چکمه بهاری یک لایه تفکر و کنوانسیون بیش از پیکربندی است که در بالای چارچوب بهار ساخته شده است که باعث می شود برنامه های بهاری آماده و آماده تولید ، سریع و آسان ایجاد شود. به جای مونتاژ و سیم کشی ده ها ماژول بهار خود ، بوت بهار فراهم می کند:

princip اصول و ویژگی های کلیدی

نشان چه کاری انجام می دهد
پیکربندی خودکار کلاس و لوبیا خود را اسکن می کند ، سپس پیش فرض های معقول را اعمال می کند (به عنوان مثال یک Tomcat تعبیه شده).
استارت پومس گروه “مبتدیان” (Maven/Gradle) وابستگی های مشترک (به عنوان مثال spring-boot-starter-web).
سرور تعبیه شده بسته های Tomcat/Jetty/Telectow بنابراین می توانید java -jar برنامه شما – جنگ خارجی لازم نیست.
تولید شده شامل نقاط پایانی محرک برای سلامتی ، معیارها ، ردیابی ، ورود به سیستم و موارد دیگر ، خارج از جعبه است.
پیکربندی خارجی خواص از application.properties/application.yml، متغیرهای محیط و غیره
بهار کلی ابزار خط فرمان اختیاری برای اجرای و آزمایش اسکریپت های Groovy به عنوان میکروسرویس.
کنگره در طول توسعه ، بارگیری مجدد ، راه اندازی مجدد اتوماتیک و زنده بار را فعال می کند.

⚙ شروع کار

  1. ایجاد یک پروژه
    استفاده کردن ابتکار عمل بهار (https://start.spring.io) یا جادوگر بوت بهاری IDE شما.
  • ابزار ساخت خود (Maven/Gradle) ، نسخه جاوا و مبتدیان را انتخاب کنید (به عنوان مثال وب ، داده JPA ، امنیت).
  1. ساختار پروژه
   my-app/
   ├── src/
   │   ├── main/
   │   │   ├── java/com/example/demo/
   │   │   │   └── DemoApplication.java
   │   │   └── resources/
   │   │       ├── application.properties
   │   │       └── static/ (CSS/JS/images)
   │   └── test/java/com/example/demo/
   └── pom.xml or build.gradle
  1. کاربرد حداقل
   package com.example.demo;

   import org.springframework.boot.SpringApplication;
   import org.springframework.boot.autoconfigure.SpringBootApplication;
   import org.springframework.web.bind.annotation.GetMapping;
   import org.springframework.web.bind.annotation.RestController;

   @SpringBootApplication
   public class DemoApplication {
       public static void main(String[] args) {
           SpringApplication.run(DemoApplication.class, args);
       }
   }

   @RestController
   class HelloController {
       @GetMapping("/hello")
       String sayHello() {
           return "Hello, Spring Boot!";
       }
   }
  • @SpringBootApplication = @Configuration با @EnableAutoConfiguration با @ComponentScan
  • با mvn spring-boot:run یا java -jar target/demo-0.0.1-SNAPSHOT.jar

🔧 اجزای اصلی

1 شروع کننده

مصنوعی هدف
spring-boot-starter-web بهار MVC + جاسازی شده Tomcat + جکسون
spring-boot-starter-data-jpa داده های بهار JPA + Hibernate
spring-boot-starter-security امنیت بهاری
spring-boot-starter-test Junit ، Mockito ، برنامه های تست بهار

2 پیکربندی خودکار

  • لوبیا و کوزه را روی کلاس کلاس جمع می کند
  • اعمال پیش فرض (به عنوان مثال ، اگر spring-webmvc موجود است ، پیکربندی a DispatcherServlet)
  • شما می توانید از طریق ارتباطات خاص خود را نادیده بگیرید یا غیرفعال کنید @EnableAutoConfiguration(exclude = ...) یا خواص

3 محرک

اضافه کردن spring-boot-starter-actuator برای افشای نقاط پایانی مانند:

/actuator/health
/actuator/info
/actuator/metrics
/actuator/loggers

سفارشی سازی از طریق management.endpoints.web.exposure.include=* در application.propertiesبشر

4 پیکربندی خارجی

  • مشخص خواص:
  # application.yml
  spring:
    profiles:
      active: dev

  ---
  spring:
    profiles: dev
  server:
    port: 8081
  • متغیرهای محیط، ARG های خط فرمان ، و پرونده های خاصیت به ترتیب کاملاً تعریف شده ادغام می شوند.

📦 بسته بندی و استقرار

  • شیشه چربی: همه وابستگی ها + سرور تعبیه شده → یک گلدان قابل اجرا.
  • اسکله: معمولاً کانتینر شده:
  FROM eclipse-temurin:17-jdk-alpine
  ARG JAR_FILE=target/*.jar
  COPY ${JAR_FILE} app.jar
  ENTRYPOINT ["java","-jar","/app.jar"]
  • ابری آماده: پشتیبانی 12 عاملی بهار بوت (پیکربندی ، ورود به سیستم ، درگاه ها) با سیستم عامل هایی مانند Kubernetes ، Cloud Foundry و Heroku به خوبی بازی می کند.

🌐 چه موقع از بوت بهار استفاده کنید

  • میکروسرویس: به سرعت ایجاد و استقرار خدمات کوچک و متمرکز.
  • پروژه های گرینفیلد: با پیش فرض ها و کنوانسیون های معقول شروع کنید.
  • ابری بومی: مقیاس گذاری آسان ، کانتینر و نظارت.
  • نمونه برداری: نقاط پایانی HTTP ساده یا اسکریپت های CLI را با حداقل تنظیم اجرا کنید.

مراحل بعدی

  • غواصی به کنفرانس خودکار سفارشی و لوبیای مشروط.
  • ایمن کردن نقاط پایانی شما با spring-boot-starter-security و jwt/oauth.
  • همچنان تاریخ spring-boot-starter-data-jpa و مدیریت معامله
  • نظارت خدمات شما با محرک و ادغام با پرومتئوس/گرافانا.

به من اطلاع دهید که می خواهید کدام منطقه را کشف کنید – نمونه های دسترسی به داده ها ، پیکربندی های امنیتی ، شاخص های بهداشتی سفارشی یا چیز دیگری!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا