1.springboot微服务框架中常用注解
(1)@RestController 该注解就相当于类前面加一个@Controller,再向每个方法的修饰符后面加一个@ResponseBody注解
(2)@JsonFormat(pattern=”yyyy-MM-dd”,timezone=”GMT+8”) 用来更改时间格式
(3)@JsonPropertyOrder(value={“content”,”title”}) 用来更改属性顺序
(4)@JsonProperty(“auther”) 在输出的时候更改属性的名称,比如将author改为auther
(5)@JsonInclude(JsonInclude.Include.NON_NULL) 如果属性的返回结果为空,则不做返回
(6)@JsonIgnore 忽略属性
(7)@BeforeAll 指在所有函数前面执行该方法
(8)@SpringBootTest 加载springboot上下文,加载所有的bean
(9)@WebMvcTest(ArticleController.class) 也是加载上下文,但加载bean的范围缩小了(例如只对ArticleController这一个bean加载)
(10)@AutoConfigureMockMvc 自动帮助我们构建mockMvc对象
(11)@ExtendWith(SpringExtension.class)
(12)@Resource 与 @Autowired注解的区别 出现service层依赖注入时才需要该注解
- @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。
- @Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。
- 所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。
- 如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Resource装配顺序
- 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
- 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
- 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
- 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;
(13)@Configuration 注解表示当前类是一个配置类
(14)@EnableSwagger2 注解表示启用swagger API文档
(15)@ApiOperation 注解就是在API文档中添加一些中文描述
(16)@ApiResponses (不建议使用)
(17)@ApiModel
(18)@Component
(19)@Repository //该注解主要是为了 说明该类是持久层依赖注入的一个对象 到时可以注入到service层里面
(20)@Data
(21)@PostMapping
(22)@Configuration
(23)@Primary
(24)@Bean(name=””)
(25)@ConfigurationProperties(prefix=””)
(26)@Repository
(27)@RunWith(SpringRunner.class)---Junit4
(28)@ExtendWith(SpringRunner.class)—Junit5
(29)@SpringBootTest
(30)@Entity //表示当前类是一个实体类,并表示接受SpringDataJPA的控制管理
(31)@Table(name="student") //如果不特定指哪个表,就默认 类名对应的表
(32)@Test 必需加在测试方法前 这是Junit5第三方库要求的
2.随手记