1.@SpringBootApplication
一般不会主动使用,创建SpringBoot项目后默认在主类加上,可以看作是@Configuration、@EnableAutoConfiguration、@ComponentScan注解的集合
2. @Configuration
运行在Spring上下文中注册额外的bean或导入其他配置类
3.@EnableAutoConfiguration
启动SpringBoot的自动配置机制
4.@ComponentScan
扫描被@Component(@Repository,@Service,@Controller)注解的bean,注解默认会扫描该类所在包下的所有类
5.@Autowired
自动导入对象到类中,被注入进的类同样要被Spring容器管理
6.@Comonpent
通用的注解,可标注任意类为Spring组件,如果一个类不知道属于哪个层,可以使用@Component注解标志
7.@Repository
对应持久层即Dao层,主要用于数据库相关操作
8.@Service
对应服务层,主要涉及一些复杂的逻辑,需要用到Dao层
9.@Controller
对应SpringMVC控制层,主要用于接受用户请求并调用Service层返回数据给前端页面
10.种常见的请求类型:
- GET :请求从服务器获取特定资源。举个例子:
GET /users
(获取所有学生) - POST :在服务器上创建一个新的资源。举个例子:
POST /users
(创建学生) - PUT :更新服务器上的资源(客户端提供更新后的整个资源)。举个例子:
PUT /users/12
(更新编号为 12 的学生) - DELETE :从服务器删除特定的资源。举个例子:
DELETE /users/12
(删除编号为 12 的学生) - PATCH:更新服务器上的资源(客户端提供更改的属性,可以看做作是部分更新),使用的比较少,这里就不举例子了
11.前后端传值
11.1 @PathVariable和@RequesParam
@PathVariable用于获取路径参数,@RequesParam用于获取查询参数。
11.2 @RequestBody
用于读取 Request 请求(可能是 POST,PUT,DELETE,GET 请求)的 body 部分并且Content-Type 为 application/json 格式的数据,接收到数据之后会自动将数据绑定到 Java 对象上去。系统会使用HttpMessageConverter
或者自定义的HttpMessageConverter
将请求的 body 中的 json 字符串转换为 java 对象。
12.读取配置信息
12.1 @Value
使用@Value("${property}")
读取比较简单的配置信息
12.2 @ConfigurationProperties
通过 @ConfigurationProperties读取配置信息并与 bean 绑定。
12.3 @PropertySource
@PropertySource读取指定 properties 文件
13.全局处理Controller层异常
@ControllerAdvice:注解定义全局异常处理类
@ExceptionHandler:注解声明异常处理方法
14.事务@Transactional
开启事务。
作用于类:表明该类的public方法都配置相同的事务属性信息
作用于方法:当类配置了注解,方法也配置了,那么方法的事务会覆盖类的事务配置信息
15.测试相关
@ActiveProfiles:一般作用于测试类上, 用于声明生效的 Spring 配置文件。
@Test:声明一个方法为测试方法
@Transactional:被声明的测试方法的数据会回滚,避免污染测试数据。
@WithMockUser:Spring Security 提供的,用来模拟一个真实用户,并且可以赋予权限。