在此提要:这是比较常用的spring到SpringMVC中的注解,如有不 全,可在评论中指出,博主收到 后会立即对此进行修改
创建bean实例对象 | @Service("nida") | 用于业务层创建spring的bean对象,就是实现类的使用业务功能的 |
@Repository("nida") | 用于数据层创建spring的bean对象 | |
@Controller("nida") | 用于表现层,创建spring的bean对象 | |
@Component | 泛指各种组件,就是说当我们的类不属于各种归类的时候,使用此注解 | |
配置类 | @Configuration | 声明此类为配置类,相当于xml文件头上的一段 |
@ComponentScan("jiekou.shixian") | 包扫描,用与配置类扫描注解 | |
bean生命周期 | @PostConstruct | 可以理解为在spring容器启动的时候执行 |
@PreDestroy | 可以理解为在spring容器关闭的时候执行 | |
单例与非单例 | @Scope("") | singleton(默认) 单例prototype 多例 |
装配 | @Autowired | 自动装配 |
@Qualifier("nidaye") | 但装配的`beans为多个时候,可以按照命名装配,但必须依赖于@Autowired | |
赋值 | @Value("dasdasdas") | 用于属性赋值 |
配置文件加载 | @PropertySource("aaaa.properties") | 加载配置文件 |
@Value("${name}") | 值写配置文件里的key | |
@Bean | 管理第三方bean | |
@@Import(SE.class) | 导入第三方的bean | |
aop | @EnableAspectJAutoProxy | 告诉spring有AOP注解开发写于配置文件 |
@Pointcut("execution(void com.shixian.yewuimp.juid())") | 设置切入点并描述切入方法 | |
@Before("jui()") | 前置通知 | |
@Aspect | 后置通知` | |
@Around("jui()") | 环绕通知必须依赖于ProceedingJoinPoint形参才能使用 | |
@AfterReturning("jui()") | 过滤通知 | |
@AfterThrowing("jui()") | 异常通知 | |
SpringMvc | @RestController | @Controller和@ResponseBody的集合体 |
@EnableWebMvc | 功能强大,整合多种功能,包括,json自动类型转换 | |
@ResponseBody | 将请求中请求体所包含的数据传递给请求参数.此注解一个处理器方法只使用一次 | |
@RequestParam List<String> c | 绑定请求参数与处理器方法形参间的关系 | |
@DateTimeFormat(pattern = "yyy-MM-dd") Date aa1 | 用来date参数String转化成想要的日期格式 | |
@SessionAttributes({"name", "gender"}) | 1.model中的name和gender会存⼊session中2.SessionStatus⽤于移除session。 | |
@RequestMapping(value="/register") | 请求参数 | |
Rest风格 | @GetMapping("/{id}") | 查看 |
@DeleteMapping | 删除 | |
@PutMapping | 修改 | |
@PostMapping | 添加 | |
@PathVariable | 绑定参数与处理器方法形参的关系,位置于方法形参定义前 | |
跨域 | @CrossOrigin("http://localhost:8989") | 允许此域发请求访问 |
Jackson常⽤注解 | @JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="GMT+8") | ⽇期格式化 |
@JsonProperty("new_name") | 属性名修改 | |
@JsonIgnore | 属性忽略 | |
@JsonInclude(JsonInclude.Include.NON_NULL) | null值属性不输出 | |
@JsonInclude(JsonInclude.Include.NON_EMPTY) | empty属性不输出(空串、⻓度为0的集合、 null值) | |
@JsonSerialize(using=MySerializer.class) | ⾃定义序列化。使⽤MySerializer输出某属性 | |
FastJson常⽤注解 | @JSONField(format="yyyy/MM/dd") | ⽇期格式化 |
@JSONField(name="new_name") | 属性名修改 | |
@JSONField(serialize=false) | 忽略属性 | |
@JSONField(serialzeFeatures=SerializerFeature.WriteMapNullValue) | 包含null值。默认会忽略所有null值。有此注解会输出null | |
@JSONField(serialzeFeatures=SerializerFeature.WriteNullStringAsEmpty) | null的String输出为"" | |
@JSONField(serializeUsing=MySerializer.class) | ⾃定义序列化。使⽤MySerializer输出某属性 | |
异常 | @RestControllerAdvice | 异常处理器,标注此类为异常处理类 |
@ExceptionHandler() | 可以用来统一处理方法抛出的异常 | |
@ExceptionHandler(Exception.class) | 可以添加参数,参数是某个异常类的class,代表这个方法专门处理该类异常 |