@Configuration
常用于配置类使用,当使用@Configuration时,这个类是配置类,由@SpringBootApplication注解调用源码中的@ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class} )将配置类自动扫描到容器IOC里面
@Bean
是SSM里面xml文件中的<Bean></Bean>注入
@RestController
代表rest返回一个API,具体百度一下由post、get、put、delete等等
@Primary
当有多个@Bean时不加这个注解会报错,显示不知道导入哪个。加上去是默认导入注解所在的@bean
@Autowired
按照类型注入,当没有起别名时。默认使用驼峰命名法
@Qualifier("xiaosan")
当@bean("xiaosan ")起别名时,使用该注解能够精准的使用
@Value
通过配置文件注入属性
@Data
除了全参以外与一个完整的bean类文件一样含有get、set、无参、equals、hashCode()、tostring、canEqual方法
@PropertySource("classpath:admin.properties")
当仅有@Configuration时是默认调用配置文件,加入@PropertySource可以手动选择配置文件,只能配置后缀为.properties配置文件
@ConfigurationProperties(prefix = "admin")
自动写入前缀,在写入前缀的前提下可以不使用@value注解进行注入属性,但是前缀必须全部写进去,另有博客写有详细。
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
日期类型当日期类型为 LocalDateTime后面加上HH:mm:ss当日期类型为LocalDate注解为
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Validated
对实体类进行校验,具体另有博客@Validated_懒起来的博客-CSDN博客
@WebServlet
用于将一个类声明为 Servlet,该注解会在部署时被容器处理,容器根据其具体的属性配置将相应的类部署为 Servlet。该注解具有下表给出的一些常用属性。具体另有博客@WebServletCSDN
@ServletComponentScan
SpringBootApplication 上使用@ServletComponentScan 注解后,Servlet可以直接通过@WebServlet注解自动注册,Filter可以直接通过@WebFilter注解自动注册,Listener可以直接通过@WebListener 注解自动注册
@WebListener
监听器
@component
(把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>)
泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。
@Aspect
AOP切面
@Pointcut("execution(* com.wzx.controller.*.*(..))")
定义切点
@Pointcut("@annotation(com.wzx.annotation.Needcut)")
利用注解定以切点,另有博客详解注解定义切点_懒起来的博客-CSDN博客
@Before("point()")
前置通知
@After("point()")
后置通知
@Around("point()")
环绕通知
@AfterThrowing("point()")
异常通知
@ConditionalOnProperty(
prefix = "spring.auth",
value = "enabled",
havingValue = "true", //spring.auth.enabled 值与 havingValue值对对比,相等则自动装载,不相等不装载。
matchIfMissing = false
)
@conditionlOnProperty是选择性装载当spring.auth.enabled 值与 havingValue值对对比,相等则自动装载,不相等不装载。
@Order(Ordered.HIGHEST_PRECEDENCE)
设置优先级,数字越小优先级越高
@Import(AuthorityProperties.class)
导入配置类或者一些需要前置加载的类
@ImportResource
@PropertyResource
@Mapper
告诉MyBatis这是Dao接口,创建此接口的代理对象
@MapperScan
找到Dao和Mapper文件