@Configuration 注解表示这是一个配置类
@ComponentScan(basePackages = "org.javaboy"
, useDefaultFilters = true
, excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class)})
public class SpringConfig {
}
@ComponentScan 注解表示配置包扫描,里面的属性和 xml 配置中的属性都是一一对应的,useDefaultFilters 表示使用默认的过滤器,然后又除去 Controller 注解,即在 Spring 容器中扫描除了 Controller 之外的其他所有 Bean
@RestController 是 @Controller 和 @Requestbody的组合注解(表示Controller 中的类返回值都为 json 数据)
@EnableAutoConfiguration 注解表示开启自动化配置
@Component 注解将普通的 pojo 实例化到 Spring 容器中,相当于 xml 文件中的 bean
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
@PropertySource(“classpath:book.properties”) 注解(引入配置文件)获取 properties 文件中的内容
@ConfigurationProperties(prefix = “book”) 注解,类型安全的属性注入,配置了属性的前缀,此时会自动将 Spring 容器中对应的数据注入到对应的属性中,就不通过 @Value 注解 挨个注入了,减少工作量并且避免出错
@Conditional Starter 的核心,条件注解
@EnableConfigurationProperties 注解是使我们之前配置的 @ConfigurationProperties 生效,让该配置的属性成功的进入 Bean 中
@ConditionalOnClass(HelloService.class) 表示当项目当前 classpath 下存在 HelloService 时,才会开启自动化配置
@AutoConfigureAfter({ WebMvcAutoConfiguration.class })在某某类加载之后
@Autowired 根据类型注入
@Resource 根据属性注入
@ConditionalOnWebApplication 表示该类在 web 环境下才会生效
@ControllerAdvice
1、全局异常处理
2、全局数据绑定
3、全局数据预处理
@InitBinder(“b”) 注解表示该方法用来处理和Book和相关的参数,在方法中,给参数添加一个 b 前缀,即请求参数要有b前缀.
@ModelAttribute
绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用。其实@ModelAttribute此处对于供视图页面展示来说与model.addAttribute(“attributeName”, abc);功能类似。
public String test(@ModelAttribute("user") UserModel user)
@EnableScheduling加在SpringBoot 的启动类上,表示开启定时任务
@Order设置定时任务的间隔时间
@EnableSwagger2表示启用 swagger2 服务
@ApiModel
public class User {
@ApiModelProperty(value = "用户id")
private Integer id;
@ApiModelProperty(value = "用户名")
private String username;
@ApiModelProperty(value = "用户地址")
private String address;
//getter/setter
}
@RequestMapping(请求映射)用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。(窄化请求)