Springboot clevere Gebrauchsanweisungen

Zuerst habe ich auf diesen Blog-Beitrag verwiesen.

https://blog.csdn.net/valada/article/details/80892573

Was ist Spring Boot?

Die offizielle Erklärung lautet:

Spring Boot ist ein neues Framework, das auf Spring basiert und vom Pivotal-Team bereitgestellt wird. Sein Entwurfszweck besteht darin, den Konstruktions- und Entwicklungsprozess von Spring-Anwendungen zu vereinfachen. Das Framework folgt dem Prinzip "Konvention ist größer als Konfiguration" und verwendet eine bestimmte Konfigurationsmethode, sodass Entwickler keine große Anzahl von XML-Konfigurationen definieren müssen. Auf diese Weise hat sich Spring Boot zum Ziel gesetzt, führend im boomenden Bereich der schnellen Anwendungsentwicklung zu werden

Da Einzelpersonen das Framework von Spring seit 14 Jahren verwenden, bevor Spring geboren wurde, wussten sie, dass die Konfigurationsdatei kompliziert und anstrengend war.

Mit einem Wort: springboot gibt unsere Konfigurationsdatei frei und konzentriert sich mehr auf die Geschäftsimplementierung. Vereinfachte Projektkonstruktion, eingebauter Kater.

Zusätzlich zu den oben genannten Vorteilen bietet Springboot weitere Vorteile, siehe unten.

1. Die Datenbankkonfiguration, die Größenbeschränkung für das Hochladen von Dateien usw. können über application.properties festgelegt werden.

2. Es ist praktisch für unseren Verpackungsvorgang, dies ist der entscheidende Punkt.

   Da ich früher mehrere Konfigurationseinstellungen in application.properties gepackt habe, kann ich sie manuell kommentieren oder loslassen, um den Zweck zu erreichen. Es ist leicht, Fehler zu machen. Beispielsweise gibt es eine Entwicklungsumgebung, eine Testumgebung und eine Produktionsumgebung. Dann ist die Konfiguration verschiedener Konfigurationsdateien je nach veröffentlichtem Server unterschiedlich. Das ist also der Punkt.

在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境名字,比如:

application-dev.properties:开发环境
application-test.properties:测试环境
application-prod.properties:生产环境

至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。

 

Zum Beispiel ist das Folgende meins.

Schreiben Sie einfach die unterschiedliche Umgebungskonfiguration in jede Konfigurationsdatei.

3. Globale Variablen können gesetzt werden

@Value

Unter normalen Umständen müssen wir einige globale Variablen definieren. Wir werden uns vorstellen, eine öffentliche statische Variable zu definieren und sie bei Bedarf aufzurufen. Gibt es andere bessere Lösungen? Die Antwort lautet ja. Wie folgt:

@Value("${spring.profiles.active}")    
String active;

spring.profiles.active in application.properties in unserer Eigenschaft definiert, können wir jede Attributnamen anpassen, durch @ValueAnmerkung herausgenommen werden kann.

Die Vorteile sind wie folgt:

    1.定义在配置文件里,变量发生变化,无需修改代码。
    2.变量交给Spring来管理,性能更好。

4.springboot kann Interceptors verwalten

Erstellen Sie eine Interceptor-Klasse: ApiInterceptor, und implementieren Sie die HandlerInterceptor-Schnittstelle

public class ApiInterceptor implements HandlerInterceptor {
    //请求之前    
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("进入拦截器");
        return true;
    }

    //请求时   
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
    }

    //请求完成    
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
    }
}

@SpringBootConfiguration Die mit Anmerkungen versehene Klasse erbt die WebMvcConfigurationSupport-Klasse und schreibt die addInterceptors-Methode neu, um die ApiInterceptor-Interceptor-Klasse hinzuzufügen. Der Code lautet wie folgt:

@SpringBootConfigurationpublic
class WebConfig extends WebMvcConfigurationSupport {
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        super.addInterceptors(registry);
        registry.addInterceptor(new ApiInterceptor());
    }
}

Das Framework des Springboot Interceptor wurde geschrieben, und die spezifische Geschäftsimplementierung wird das Gehirn selbst bilden.

 

5. Ausnahmebehandlung

Kann sich beziehen auf:

https://www.cnblogs.com/xuwujing/p/10933082.html

Das SpringBoot-Projekt hat bestimmte Ausnahmen behandelt, ist jedoch möglicherweise nicht für unsere Entwickler geeignet. Daher müssen wir diese Ausnahmen einheitlich erfassen und behandeln. ControllerAdviceIn SpringBoot gibt es eine Anmerkung. Die Verwendung dieser Anmerkung bedeutet, dass die Erfassung globaler Ausnahmen aktiviert ist. Wir müssen nur eine ExceptionHandlerAnmerkung in einer benutzerdefinierten Methode verwenden und dann den Typ der erfassten Ausnahmen definieren, um diese erfassten Ausnahmen einheitlich zu behandeln.


@ControllerAdvice //全局异常补获
public class MyExceptionHandler {

    @ExceptionHandler(value =Exception.class)
    public String exceptionHandler(Exception e){
        System.out.println("未知异常!原因是:"+e);
        return e.getMessage();
    }
}

Ich werde hier nicht auf Details eingehen. Sie können sich auf den Artikel dieses Bloggers beziehen, der sehr gut ist.

6. Unit Testing

@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class TestDB {
    @Test
    public void test() {
    }
}

Das Obige ist nur ein einfacher Rahmen für Unit-Tests. Weitere Informationen finden Sie unter:

https://blog.csdn.net/sz85850597/article/details/80427408

Du bist hier fertig.

 


 

Veröffentlicht 51 Originalartikel · Gefällt mir 4 · Besucher 7901

Ich denke du magst

Origin blog.csdn.net/u012174809/article/details/103023726
Empfohlen
Rangfolge