SpringBoot学习day3-SpringBoot注解开发(新闻项目后段基础)
SpringBoot注解
**@SpringBootApplication
**是 springboot 核心注解,其中包含
@SpringBootConfiguration
它的主要作用是:
- 作为 Spring Boot 应用的配置入口点
- 可以使用
@Bean
注解在该类中定义 Spring Bean - 通常与
@EnableAutoConfiguration
和@ComponentScan
一起使用
**@EnableAutoConfiguration
**它能根据 classpath 中的依赖自动配置 Spring 应用
它的主要作用是:
- 根据添加的依赖自动配置 Spring 应用上下文
- 例如,当 classpath 中存在 Tomcat 依赖时,自动配置嵌入式 Tomcat 服务器
- 可以通过
exclude
属性排除特定的自动配置类 - 工作原理是基于 META-INF/spring.factories 文件中的配置
**@ComponentScan
**这个注解告诉 Spring 在哪里扫描组件(如@Component
、@Service
、@Repository
、@Controller
等)
它的主要作用是:
- 自动扫描指定包及其子包中的组件
- 找到并注册带有 Spring 组件注解的类
- 如果不指定
basePackages
,默认从声明该注解的类所在的包开始扫描 - 可以使用
includeFilters
和excludeFilters
自定义扫描规则
@Configuration
加入@Configuration 注解,表明这就是一个配置类。有一个myBean()的方法
并用@Bean 进行注释,返回一个MyBean()的实例,表明这个方法是需要被
Spring 进行管理的bean。@Bean 如果不指定名称的话,默认使用myBean
名称,也就是小写的名称。
@Bean
相当于XML中的,放在方法的上面,而不是类,意思是产生一 个bean,并交给spring管理
运用实例
/*
* @Configuration注解表明这是一个配置类,可以包含@Bean注解的方法,这些方法将会在Spring容器中注册为Bean。
* */
@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration corsConfiguration = new CorsConfiguration();//1,允许任何来源corsConfiguration.setAllowedOriginPatterns(Collections.singletonList("*"));//2,允许任何请求头corsConfiguration.addAllowedHeader(CorsConfiguration.ALL);//3,允许任何方法corsConfiguration.addAllowedMethod(CorsConfiguration.ALL);//4,允许凭证corsConfiguration.setAllowCredentials(true);UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(source);