springmvc注解——拙见

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;

相关推荐