@RestController
前端控制层标记
可以接收请求
将结果以JSON格式相应给前端
@RestController public class DeptController { }
@Service
标注在业务逻辑层
里面自带了@Component注解,注入到IOC容器中
@Service public class DempServiceImpl implements DeptService { }
@Repositry
标注在Dao层
里面自带了@Component注解,注入到IOC容器中
@Mapper
标注在Dao层
@Component注解,注入到IOC容器中
@Mapper public interface DeptMapper { }
@Component
基础注解,组件
将类注入到IOC容器中
@RequestParam
手动映射请求参数和形参
/* 如果请求参数名和形参变量不一致 @RequestParam(name = "请求参数名") 形参 */ @RequestMapping("/simpleParam2") public String simpleParam2(@RequestParam(name = "name") String username, Integer age){ System.out.println("name:" + username); System.out.println("age:" + age); return "ok"; }
@DateTimeFormat(pattern = "")
日期映射,字符串映射成LocalDateTime对象
/* * 日期参数 * */ @RequestMapping("/dateParam") public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){ System.out.println(updateTime); return "ok"; }
@PathVaiable
映射路径参数
/* * 路径参数 * @PathVariable * 路径的参数名和形参一致 * 不一致: * @PathVariable("参数名") * */ @RequestMapping("/path/{num}") public String path(@PathVariable Integer num){ System.out.println(num); return "ok"; }
@RequestBody
将请求时携带的JSON映射成Java实体对象
/* * 嵌套JSON参数 * */ @PostMapping("/jsonParam2") public String jsonParam2(@RequestBody User user){ System.out.println(user); return "ok"; }
@ResponseBody
将Java实体对象转成JSON
@RestController = @ResponseBody + @Controller
@RequestMapping("/ulr")
映射请求的url
接收的是一个get请求
@RestController public class HelloController { @RequestMapping("/hello") public String hello(){ return "Hello SpringBoot!"; } }
@Autowired
自动注入:按照类型注入
@Autowired private DeptService deptService;
@Qualifier("bean的名字")
和@Autowired是搭档
帮助@Autowired设置使用的实现类
IOC中一个接口有多个实现类注入,使用@Qulifier指定要使用的实现类
@Qualifier不能单独使用
bean首字母小写
@Qualifier("empServiceImpl") @Autowired private EmpService empService;
@Resource(name = "bean的名字")
按照名字装配
@Resource与@Autowired + @Qualifier功能相似
@Resource(name = "empserviceimpl") private EmpService empService;
@Primary
优先
给一个接口的多个实现类的其中一个加入,会优先使用加入该注解的实现类