SpringBoot 十 创建控制层

控制类的作用:处理http的请求,接收html传过来的参数(请求),提取参数,进行处理 然后再把处理完的数据 或者直接发送html页面 到前台

控制层只控制跳转 业务处理 都靠业务层

本节的主要知识点:控制层类上的注解、业务层的注入、URL映射、参数接收、返回数据及网页模板、RESTful

因为此时前端未准备号 所以先用通过Postman进行接口调试

1)控制层注解
@Controller:创建的类上添加注解@Controller表示这是一个控制层类,返回数据的方式既可以是JSON/xml数据,也可以是页面模板;
@RestController:创建的类上添加注解@Controller表示这是一个控制层类,返回数据的方式只能是JSON/xml数据;
两者的关系:@[email protected][email protected]
一般直接用@Controller 不多比比

2)业务层的注入
1 @Resource:默认byName (这个通过名称 通过的是之前业务层设置的别名@Service(name=“companyService”) )注入的方式,适用于接口只能有一个实现类。( 一般直接用这个 不多比比) 如果找不到该别名 还会按照下面对象实例的类型从新匹配注入
@Resource(name=“companyService”)
2 @Qualifier:byName (这个通过名称 用的是类名也就是业务层写的实现类的名字 注入的方式,但名称是类名,适用于接口有多个实现类的场景,
如 @Qualifier(name=“CompanyService”)
3 @Autowired: byType(通过类型 这个应该基本用不到) 注入方式,要求接口只能有一个实现类,按照下面一一对应创建的对象实例类型 进行自动引用 上一章业务层接口实现类 引入数据仓库层 即是用的此方法
@Autowired
private CompanyRepo companyRepo;
3)URL映射 (前端和后端的接口 非常重要)
@RequestMapping:表示将特定的URL映射到指定的方法;如:@RequestMapping("/CompanyModule") (包括以下两种 GetMapping和PostMapping 既可以用Get 又可以用post )
@GetMapping:只接收Get方式的URL映射,相当于@RequestMapping(value = “/test/hello”,method = RequestMethod.Get)
@PostMapping:只接收Post方式的URL映射,相当于@RequestMapping(value = “/test/hello”,method = RequestMethod.POST)
注意:URL映射中带不带“/”的问题,带不带都行,规范要求来说应该带,不加“/”会去当前路径下找

实践 :
controller为控制层包 直接在其中新建控制类 控制类 一般后面为Ctl
SpringBoot 十 创建控制层