بوته بهار

چکمه بهاری یک لایه تفکر و کنوانسیون بیش از پیکربندی است که در بالای چارچوب بهار ساخته شده است که باعث می شود برنامه های بهاری آماده و آماده تولید ، سریع و آسان ایجاد شود. به جای مونتاژ و سیم کشی ده ها ماژول بهار خود ، بوت بهار فراهم می کند:
princip اصول و ویژگی های کلیدی
نشان | چه کاری انجام می دهد |
---|---|
پیکربندی خودکار | کلاس و لوبیا خود را اسکن می کند ، سپس پیش فرض های معقول را اعمال می کند (به عنوان مثال یک Tomcat تعبیه شده). |
استارت پومس | گروه “مبتدیان” (Maven/Gradle) وابستگی های مشترک (به عنوان مثال spring-boot-starter-web ). |
سرور تعبیه شده | بسته های Tomcat/Jetty/Telectow بنابراین می توانید java -jar برنامه شما – جنگ خارجی لازم نیست. |
تولید شده | شامل نقاط پایانی محرک برای سلامتی ، معیارها ، ردیابی ، ورود به سیستم و موارد دیگر ، خارج از جعبه است. |
پیکربندی خارجی | خواص از application.properties /application.yml ، متغیرهای محیط و غیره |
بهار کلی | ابزار خط فرمان اختیاری برای اجرای و آزمایش اسکریپت های Groovy به عنوان میکروسرویس. |
کنگره | در طول توسعه ، بارگیری مجدد ، راه اندازی مجدد اتوماتیک و زنده بار را فعال می کند. |
⚙ شروع کار
-
ایجاد یک پروژه
استفاده کردن ابتکار عمل بهار (https://start.spring.io) یا جادوگر بوت بهاری IDE شما.
- ابزار ساخت خود (Maven/Gradle) ، نسخه جاوا و مبتدیان را انتخاب کنید (به عنوان مثال وب ، داده JPA ، امنیت).
- ساختار پروژه
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
- کاربرد حداقل
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
موجود است ، پیکربندی aDispatcherServlet
) - شما می توانید از طریق ارتباطات خاص خود را نادیده بگیرید یا غیرفعال کنید
@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
و مدیریت معامله - نظارت خدمات شما با محرک و ادغام با پرومتئوس/گرافانا.
به من اطلاع دهید که می خواهید کدام منطقه را کشف کنید – نمونه های دسترسی به داده ها ، پیکربندی های امنیتی ، شاخص های بهداشتی سفارشی یا چیز دیگری!