企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
###59.1.1 推断"grab"依赖 标准的Groovy包含一个`@Grab`注解,它允许你声明对第三方库的依赖。这项有用的技术允许Groovy以和Maven或Gradle相同的方式下载jars,但不需要使用构建工具。 Spring Boot进一步延伸了该技术,它会基于你的代码尝试推导你"grab"哪个库。例如,由于`WebApplication`代码上使用了`@RestController`注解,"Tomcat"和"Spring MVC"将被获取(grabbed)。 下面items被用作"grab hints": |items|Grabs| |-----|:-----| |`JdbcTemplate`,`NamedParameterJdbcTemplate`,`DataSource`|JDBC应用| |`@EnableJms`|JMS应用| |`@EnableCaching`|缓存抽象| |`@Test`|JUnit| |`@EnableRabbit`|RabbitMQ| |`@EnableReactor`|项目重构| |extends `Specification`|Spock test| |`@EnableBatchProcessing`|Spring Batch| |`@MessageEndpoint`,`@EnableIntegrationPatterns`|Spring集成| |`@EnableDeviceResolver`|Spring Mobile| |`@Controller`,`@RestController`,`@EnableWebMvc`|Spring MVC + 内嵌Tomcat| |`@EnableWebSecurity`|Spring Security| |`@EnableTransactionManagement`|Spring Transaction Management| **注** 想要理解自定义是如何生效的,可以查看Spring Boot CLI源码中的[CompilerAutoConfiguration](http://github.com/spring-projects/spring-boot/tree/master/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/CompilerAutoConfiguration.java)子类。