Spring Boot starter总结
![](/theme/default/default/images/main/eye-open.png)
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
![](/theme/default/default/images/main/icon-jing.png)
Spring Boot Starter Summary
1. Introduction to Starter
Spring Boot simplifies configurations compared to Spring, largely due to the use of spring-boot-starter. Starters allow for easy setup of projects by including official starters which automatically configure the necessary dependencies. Spring provides many official starters, and third parties can also define their own, with naming conventions to differentiate between official and third-party starters.
2. The Principle of Starter
Spring Boot simplifies project setup and development through starters and auto-configuration. Starters group dependencies for a feature, while auto-configuration creates and manages beans without manual XML configurations. Auto-configuration involves key steps such as Java-based bean configuration, conditional dependencies, parameter acquisition, bean discovery, and bean loading, as illustrated using the example of mybatis-spring-boot-starter.
2.1. Starter Dependencies
Starters package together dependencies for specific functionalities, such as web development with spring-boot-starter-web, to simplify dependency imports.
2.2. Automatic Configuration
Auto-configuration allows for bean configuration and management without manual XML, simplifying development. It includes creating Java-based bean configurations, setting conditional dependencies with specific annotations, obtaining bean parameters from configuration files, discovering beans within dependency packages, and loading them into the Spring context.
3. Custom Starter
To deepen understanding and application, two custom starters are developed: a simple hello-spring-boot-starter that auto-configures a HelloService, and an extended starter that includes a log interceptor for logging functionality.
3.1. Case 1: Hello Starter
The hello-spring-boot-starter is created by setting up a Maven project, defining a configuration properties class, service class, auto-configuration class, and registering the auto-configuration class in the META-INF/spring.factories file. A sample application demonstrates using the custom starter by including it in the pom.xml, setting properties in the application.yml, and creating a controller and main application class that uses the auto-configured service.
3.2. Case 2: Log Interceptor Starter
Building on the hello starter, the extended starter adds a custom annotation and interceptor for logging. The auto-configuration class is updated to register the interceptor, and the application using the starter demonstrates logging by annotating a controller method with the custom annotation.
想要了解更多内容?
![](/theme/default/default/images/main/icon-jing.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)