Spring 知识点总结
SpringBoot是否需要独立容器
不需要,内置了Tomcat/Jetty等容器。
运行SpringBoot几种方式
打包用命令或者放到容器中运行用Maven/Gradle插件、执行main方法。
Spring loC实现机制
工厂模式加反射。
SpringBoot配置文件几种格式之间区别
.properties和.yml格式,区别是书写格式不同;yml格式不支持@PropertySource导入配置。
SpringBoot兼容老项目
使用@lmportResource注解导入老项目配置文件。
SpringCloud特征
分布式配置、服务注册发现、路由、服务调用、负载均衡、断路器、全局锁、选举、集群、消息传递。
SpringBoot的常用注解
@SpringBootAapplication
通常加到启动类上。被标注的类,可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件。可看作是@Configuration、@EnableAutoConfiguration、@Componentscan注解的集合。
Spring Bean相关
@Autowired:按类类型,自动导入依赖的bean对象
@Resource:按类名称,自动导入依赖的bean对象
@Component:可标注任意类为Spring组件
@Repository:用于标注Dao层的数据持久化类
@Service:通常标注在业务逻辑类上,标注后会将类对象实例化并注入到bean容器里。
@Configuration:声明配置类
@Bean:声明一个bean对象,并交给Spring管理
前后端传值
@RequestParam:用于获取http请求中的查询参数
@RequestBody:表明请求头的数据格式必须为Json的,接收到数据后会自动将数据映射到lava对象中
HTTP请求相关
@RestController:标记在类上。接受用户请求并调用Service层返回数据给前端页面,是@Controller和@ResponseBody的合集,返回值会填到Http响应数据里。
@RequestMapping:负责URL到Controller中具体函数的映射,常标识在类或方法上。当标识到方法时,可以指定请求协议(GET、POST、PUT、DELETE)
@GetMapping:用在方法上,标注接口的请求路径,只支持get请求方法。等价于@RequestMapping("/url", RequestMethod.GET)
@PostMapping:用在方法上,标注接口的请求路径,只支持post请求方法。等价于aRequestMapping("/url", RequestMethod.POST)
@PutMapping:用在方法上,标注接口的请求路径,只支持put请求方法。等价于@RequestMapping("/url", RequestMethod.PUT)
@DeleteMapping:用在方法上,标注接口的请求路径只支持 delete请求方法。等价于@ReguestMapping("/url", RequestMethod.DELETE)
配置相关
@Value:在任意Spring管理的Bean中,通过这个注解可获取任何配置文件的属性值。
参数校验
后端经常要对请求入参进行校验,JSR框架定义了很多常用的校验注解,直接将这些注解加在lavaBean的属性上面即可校验。常用的注解有:
@NotEmpty:被注释的字符串的不能为null也不能为空
@NotBlank:被注释的字符串非nul并日必须包含个非空白字符
@NotNull:被注释的元素必须不为null
@Pattern(regex=x):被注释的元素必须符合指定的正则表达式
@Email:被注释的元素必须是Email格式。
@Min(value):被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value):被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max=x,min=y):被注释的元素的大小必须在指定的范围内
@Valid:如果要校验请求的方法参数,就加上这注解
事务
@Transactional:标识在类或方法上,遇到异常回滚
标签:常用,SpringBoot,Spring,请求,注释,注解,标注 From: https://www.cnblogs.com/zhaojinhui/p/18236465