itjavashuai 2020-05-01
:(springmvc中Controller处理DispatcherServlet分发的请求;把要返回给前端的数据封装成Model,传给View)只需要在Controller类上加上@Controller的注解就定义好了;(现在只是控制器类还不是请求处理器);
之后使用@RequestMapping定义前端请求与Controller类的映射;(现在升级到了请求处理器);
:(是一个处理请求与Controller处理器的注解);(方法(类的子路径)和类(方法的父路径)上均可注册);
参数详解:(该注解有六个参数);
(1)(value="路径");(此参数为默认参数可以直接写路径);
(2)(value = "selectBook",method = RequestMethod.POST);(RequestMethod方法可选参:GET、POST、PUT、DELETE);(接收前端传参的方式,若不对应 404则);
(3).consumes:@RequestMapping(value = "selectBook",method = RequestMethod.POST,consumes = "APPLICATION/JSON"):(指定请求的内容类型);
(4).produes:指定响应的数据类型;
(5).params:(指定请求中必须包含某些参数时才可被该方法处理,否则404);@RequestMapping(value = "deleteBook",params = "id");
public String deleteBook(@RequestParam("id") int bookid):该注解写在该方法的参数中;@RequestParam("id"):获取到params中的参数并赋值给String bookid;转换了数据类型;(@RequestParam:接收请求头的参数)
(6).headers:(请求中必须包含headers值才能被该方法处理);
3.
4.@ResponseBody:
返回的数据类型为json/xml时使用;(将方法的对象返回成指定的格式,写入响应体中)(直接将方法返回给前端,不经过DispacheSevelet);
:
(接收请求体:可以将请求体里面所有的json数据传到后端,再进行解析)
:
将请求URL的参数映射到方法的参数上,即可取出URL参数作为方法的参数;
7.Bean的注入:
自动装配:
@Autowired:是自动注入,默认是按照类型来自动装配,byType(用以消除set、get方法);若允许null 值,可以设置它的required属性为false;例:@Autowired(required=false);
@Qualifie配合着Autowired指定Bean的名称(当查询到多个实例);@Autowired() @Qualifier("类的名称")
@Resource: 默认安照名称进行装配;当找不到与名称匹配的bean时才按照类型进行装配;
各层Bean装配:
@Service:Service层类(标注服务层处理业务逻辑);
@Controller:Controller层类(标注控制层);
@ Repository:(标注dao层);
普通Bean装配:
@Component:把普通pojo实例化到spring容器中;
注解:
加入lombok依赖包,常用在实体bean上,不用写set、get,但具备entity对象所具备的方法;
:(用在方法上或者用在方法的参数上)(请求进入Controller先执行被@ModelAttribute标记的方法无论请求的哪个方法均如此);
10.SessionAttributes:(只能在类上使用,不可在方法上使用);
参数names、type、values;
@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象进行绑定。加上@ResponseBody注解,就不会走视图解析器,不会返回页面,目前返回的json数据。