spring
- @AutoWired: 自动装配属性,@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。如果我们想使用按照名称(byName)来装配,可以结合@Qualifier(value=“xxx”)注解一起使用
- @Nullable: 字段标记了这个注解,说明这个字段可以为null
- @Resource:自动装配属性,默认byName,由J2EE提供。这个注解不会编译前校验是否存在被spring管理的这个类
- @Component: 组件,放在类上,说明这个类被spring管理了,就是bean
- @Value(“xxx”)
- @Scope(“prototype”)
- @Service
- @Repository,和@Controller、@Service、@Component的作用差不多,都是把对象交给spring管理。@Repository用在持久层的接口上,这个注解是将接口的一个实现类交给spring管理。这是因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。
- @Controller
- @Configuration,说明这是一个配置类 ,配置类就是对应Spring的xml 配置文件;
- @Bean,等价与xml的
- @ConditionalOnXXX,spring的底层注解,根据不同的条件,来判断当前配或者是类是否生效(如@ConditionalOnWebApplication(type=ConditionOnWebApplication.Type.Servlet))
- @import,Spring底层注解@import , 给容器中导入一个组件
- @PathVariable,放在方法的参数前,映射 URL 绑定的占位符,就是url中用{userId},则参数可以是@PathVariable(“userId”) id。
springMVC
- @Controller,里面的方法的返回值String会被视图解析器处理
- @RestController,不会被视图解析器处理,只返回json字符串
- @RequestMapping("/"),请求地址
- @GETMapping
- @POSTMapping
- @ResponseBody,放在方法上,这个注解就不会走视图解析器,而是返回字符串(json)
- @RestController,统一返回json字符串,不走视图解析器
- @Param,给参数命名,如mapper接口方法的参数,xml中可以直接用@param(value = “xx”)的名,如#{xxx}
- @RequestBody,将HTTP请求正文插入方法中,使用适合的HttpMessageConverter将请求体写入某个对象。
- @RequestParam()
- @PathVariable,用在方法参数上,在Spring MVC中可以使用 @PathVariable 注解,让方法参数的值对应绑定到一个URI模板变量上
SpringBoot
- @SpringBootApplication,标注这个类是一个springboot的应用
- @ConfigurationProperties(prefix = “person”),表示是一个配置参数类,prefix对应yaml文件里的对象
- @Validated,JSR303数据校验 ,这个注解是在配置参数类上,具体值的校验注解有很多,放在属性上,如@Emai