spring建议事项

Posted 小蜗牛爱远行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring建议事项相关的知识,希望对你有一定的参考价值。

  • 简单数据类型绑定

    • 整型
    • 单精度、双精度
    • 布尔
    • String
    • 最好使用基本数据类型的包装类,可以传递空值(例如:integer)
  • 传递参数建议使用Model,使用起来更灵活

    • @RequestMapping("/list")
      public String showList(Model model) 
          //如果需要将数据传递
          model.addAttribute("name", "gao");
          return "list";
      
      
  • /**
     * 1.先导入包
     * 2.创建springmvc.xml
     * 3.springmvc核心类dispatcherServlet,需要在web.xml中指定
     * 4.编写Controller
     * 类上一定要写@Controller注解
     * 方法上一定要写该方法可以响应那些请求
     *
     * @author 86183
     * RequestMapping 注解
     * 1.该注解可以放置在类上(增加二级目录),也可以放置在方法上
     * 2.RequestMapping中常用的属性
     * method = RequestMethod.GET
     * params 指定参数中必须含有某个参数名称,否则该方法不允许进入
     * @RequestParam(最好写一致)
     *      当请求的参数和接受的参数名称不一样
     *      name 指的是url中的参数名称
     *      required 该参数是否必须赋值
     *      defaultValue 如果传递数据为空,将默认值赋值给参数
     */
    
    @Controller     //在该类上打上标签,意味着该类是个controller类
    public class HelloController 
        @RequestMapping(value = "/showIndex", method = RequestMethod.GET, RequestMethod.POST, params = "name")
        public String showIndex() 
            System.out.println("hello,welcome");
            return "hello";
        
    
        @RequestMapping(value = "/showDemo", method = RequestMethod.GET)
        public String showDemo() 
            System.out.println("展示demo");
            return "demo";
        
    
        @RequestMapping("/getGoodById")
        public String getGoodById(HttpServletRequest request) 
            String id = request.getParameter("id");
            System.out.println(id);
            return "demo";
        
    
        @RequestMapping("/getGoodById2")
        public String getGoodById2(Integer id) 
            System.out.println(id);
            return "demo";
        
    
        @RequestMapping("/getGoodById3")
        public String getGoodById3(@RequestParam(name="_id", required = true, defaultValue = "0") Integer id) 
            System.out.println(id);
            return "demo";
        
    
        @RequestMapping("/save")
        public String saveGoods(Goods goods) 
            System.out.println(goods);
            return "demo";
        
    
        @RequestMapping("/list")
        public String showList(Model model) 
            //如果需要将数据传递
            model.addAttribute("name", "gao");
            return "list";
        
    
        @RequestMapping("/showGoods")
        public ModelAndView showGoods(Model model) 
            //不建议,不灵活
            ModelAndView modelAndView =  new ModelAndView();
            modelAndView.setViewName("list");
            modelAndView.addObject("name", "banana");
            return modelAndView;
    
        
    
    
  • springMVC静态资源拦截器

    • /拦截所有请求,包括静态资源,不包括JSP

    • /*拦截所有请求,包括静态资源和JSP

    • *.do *.action 只拦截末尾是do或者action的请求

    • 如果想释放静态资源:

      • <mvc:annotation-driven />

        <mvc:default-servlet-handler />

      • <mvc:resources mapping="/js/**" location="/js/" /> (mapping指的是URL,location指的是资源路径文件夹名称)

  • 注解驱动作用:

    • 释放静态资源必须先写这个
    • 某些直接要想起作用也必须书写这个
    • 相当于是书写礼物最新的handlerAdapterhandlerMapping
    • 如果用到了自定义转换器,也必须和注解启动在一起使用
  • Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用
    equals。
    正例: "test".equals(object);

  • POJO 类必须写 toString方法。使用 IDE 中的工具: source> generate toString
    时,如果继承了另一个 POJO 类,注意在前面加一下 super.toString

以上是关于spring建议事项的主要内容,如果未能解决你的问题,请参考以下文章

Typeahead 在建议末尾添加自定义行

为啥建议在源文件末尾有空行?

Spring通过工厂创建实例的注意事项

Spring事务注意事项 以及 遇到的坑

如何从自动完成建议中接收关键字,而不在 jQuery UI 的末尾添加逗号?

数据库事务及SPRING中使用注意事项