@Autowired
它可以使对类成员变量, 方法及构造函数进行标注, 让 spring 完成 bean 的自动装配工作.
@Bean
告诉方法, 产生一个 bean 对象, 随后这个 Bean 对象将由 spring 管理.
@Configuration
类级定义, 表明这个类是 bean 的定义来源.
@RestController
表明这个类是一个 restful API 的 controller, 返回 Json 格式数据
@SpringBootApplication
表明, 这是一个springboot应用的起始地址.
@RequestMapping("/v1/save_user")
public Object saveUser(@RequestBody BAUser user) {
params.clear();
params.put("user", user);
return params;
}
@GetMapping(value = "/hello")
public Object hello() {
return "hello Demo";
}
@PostMapping("/v1/login")
public Object login(String id, String pwd) {
params.clear();
params.put("id", id);
params.put("pwd", pwd);
return params;
}
JavaBean 序列化称为 Json
Jackson 目前是性能最好的序列化框架
@JsonIgnore 指定字段不返回
@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss", locale="zh", timezone="GMT+8")
@JsonInclude(Include.NON_NULL)
@JsonProperty 指定别名
@Data
不用写 get, set 方法了, 需要在项目中添加依赖 lombok
@Value("${变量名}")
代表下边变量的值, 用这个value 的值 赋值
@Component
把普通的实体类(POJO类) 实例化到 spring 容器中, 这个类会被 Spring 容器扫描.
@PropertySource("{classpath:application.properties}")
指定 property 数据源
@ConfigurationProperties
指定了这个类是一个 configuration 的 properties 实体类, 它的成员变量是一些 服务器地址, 服务器名称 等配置信息.
@RunWith(SpringRunner.class) //底层用 Junit, SpringJunit4ClassRunner
Junit 测试使用
@SpringBootTest(class={XXXapplication.class}) // 就是启动整个springboot 工程的类.
Junit 测试使用
@Test
Junit 测试
@Before
Junit 测试, 在调用测试函数之前调用
@After
Junit 测试,在调用测试函数之后调用
@ControllerAdvice
异常注解
@ServletComponentScan
扫描 servlet 3.0 的注解, filter 时用到.
@WebFilter
拦截器
@Transactional(Propagation=Propagation.REQUIRED)
DB 事务, 一般放在 Service 层