一、启动相关1、@SpringBootApplicationSpringBootApplication注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters={@Filter(type=FilterType.CUSTOM,classes=TypeExcludeFilter.class),@Filter(type=FilterType.CUSTOM,classes=AutoConfigurationExcludeFilter.class)})public@interfaceSpringBootApplication{在SpirngBoot启动类中,添加了这个启动注解,这个注解是一个组合注解,比较重要的三个:@SpringBootConfiguration继承自@Configuration。其实这两个功能是一样的。他们都把这个类标记为一个配置类@EnableAutoConfiguration。bean定义被加载到spring容器中。@ComponentScan这个注解会扫描当前包下的类以及包含在sping容器管理中的子包。注意:一般在实际项目中,我们会根据自己的需要排除一些不需要自动配置的类。比如我们会配置自己的数据库,就不需要springboot自动注入数据源了。这个可以通过exclude@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})来排除在扫描第三方jar包的时候,我们可以在配置类中使用@Configuration和@ComponentScan来引入第三方jar包下的类@Configuration@ComponentScan(basePackages={"com.test.service"})//引入第三方jar包下的类2.@Import@Import注解可以用来导入一个或多个Spring配置文件,特别是一些配置第三方jar包下的classes,需要通过Import注解Load实现,代码如下@Import({KafkaConfig.class,JedisConfig.class})//引入第三方jar中的配置类package2.配置相关以一般配置类使用的注解为例1.@Configuration@Configuration专门用于标记配置类,一般配合使用2.@Bean使用@Bean注解获取配置并返回相关实例,放入sping容器统一管理。3、@PropertySource的作用是加载指定路径下的property文件。4、@Value与@PropertySource注解一起使用,指定该字段对应的配置文件中的内容5、@Order使用@Order控制配置类的加载顺序结合以上注解,kafka配置示例代码为如下@Configuration@PropertySource("classpath:spring-kafka.properties")@Order(2)publicclassKafkaConfig{@Value("${spring.kafka.bootstrap-servers}")privateStringbootstrapServers;@BeanpublicKafkaListenerContainerFactory
