博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot 之注解
阅读量:6031 次
发布时间:2019-06-20

本文共 2838 字,大约阅读时间需要 9 分钟。

@EnableAutoConfiguration

有这个注解,spring boot 就会根据classpat中的jar依赖,来猜测你将要开发一个什么样的spring应用。比如:spring-boot-starter-web这个依赖,则springboot就会自动嵌入tomcat和springMVC的相关依赖,并在启动的时候,启动为一个web应用。并会查找相应的配置参数,如果没有,则使用默认值。如:server.port=8080;
同时,在spring boot中会有一些默认的配置。如:DataSourceAutoConfiguration就会自动配置dataSource。而@EnableAutoConfiguration这个注解就会默认增加这些默认配置。同时,也可以排出。
如:@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)

@SpringBootApplication

它是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan的整合。用于application bootstrap.

@Component

它是一个类级注解。当应用是通过注解来配置或xml配置扫描的时候,这个类就会被自动检测。根据@Component衍生出来的一些特殊类型的注解,如:Repository、Service、Controller,都是Component。

@Import

导入@Configuration的配置class.相当于xml中的import标签。

@Configuration

启动配置参数,相当于xml中的beans。

@ConfigurationProperties

ConfigurationProperties指定application.yml中的配置参数。并加载到对应的class中。
如:@ConfigurationProperties(prefix = "spring.datasource");

@EnableConfigurationProperties

EnableConfigurationProperties指定被ConfigurationProperties注解的类,使其有效。
如:@EnableConfigurationProperties(DataSourceProperties.class)

@Conditional

与@ConditionalOnClass作用一样,只不过是自定义实现。

@ConditionalOnProperty

当application.yaml中有对应的参数,则此类生效;
如:@ConditionalOnProperty(prefix = "spring.datasource", name = "type")

@ConditionalOnClass

当classpath中有ConditionalOnClass注解中指定的类,则此类型生效。
如:

@Configuration@ConditionalOnClass({ DataSource.class, EmbeddedDatabaseType.class })@EnableConfigurationProperties(DataSourceProperties.class)@Import({ DataSourcePoolMetadataProvidersConfiguration.class,        DataSourceInitializationConfiguration.class })public class DataSourceAutoConfiguration {}

@ConditionalOnMissingBean

与ConditionalOnClass相反,当classpath中没有注解指定的类。则此配置类生效。
如:

@Configuration    @Conditional(PooledDataSourceCondition.class)    @ConditionalOnMissingBean({ DataSource.class, XADataSource.class })    @Import({ DataSourceConfiguration.Hikari.class, DataSourceConfiguration.Tomcat.class,            DataSourceConfiguration.Dbcp2.class, DataSourceConfiguration.Generic.class,            DataSourceJmxConfiguration.class })    protected static class PooledDataSourceConfiguration {}

@AutoConfigureAfter

指的是指定的configuration配置之后,再配置当前配置类。
如:

@Configuration@ConditionalOnClass(PlatformTransactionManager.class)@AutoConfigureAfter({ JtaAutoConfiguration.class, HibernateJpaAutoConfiguration.class,        DataSourceTransactionManagerAutoConfiguration.class,        Neo4jDataAutoConfiguration.class })@EnableConfigurationProperties(TransactionProperties.class)public class TransactionAutoConfiguration {}

@AutoConfigureOrder

自动配置的顺序。

@Configuration@ConditionalOnClass({ JdbcTemplate.class, PlatformTransactionManager.class })@AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)@EnableConfigurationProperties(DataSourceProperties.class)public class DataSourceTransactionManagerAutoConfiguration {}

转载于:https://blog.51cto.com/881206524/2122565

你可能感兴趣的文章
小孩的linux
查看>>
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
动态保持视频文件存取容量VC
查看>>
javascript去掉字符串前后空格
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
php闭包语法学习
查看>>
在子线程中弹土司的一段代码
查看>>
[Android]关于Root
查看>>
apache下配置php
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
平面设计现在行业发展如何?
查看>>
如果想做数据标注,你可能会遇到哪些坑?
查看>>
Jenkins+Ant+TestNG+Testlink自动化构建集成
查看>>
JAVA NIO之Direct Buffer 与 Heap Buffer的区别?
查看>>