deprecated_deprecated conversion from str - CSDN
精华内容
参与话题
  • @Deprecated 的功能

    千次阅读 2019-01-15 17:29:08
    今天看见项目里面有个方法不清楚是用来做什么的也没有啥注释,看到方法上个标识了@Deprecated 这个注解,一脸懵然后自己默默的去查了一下 ,原来是作废方法不建议使用的意思,使用的话方法名会出现中划线,当时不会影响...

           今天看见项目里面有个方法不清楚是用来做什么的也没有啥注释,看到方法上个标识了@Deprecated 这个注解,一脸懵然后自己默默的去查了一下 ,原来是作废方法不建议使用的意思,使用的话方法名会出现中划线,当时不会影响方法的执行.

          然后我又默默地总结了一下常用的spring注解的用法:

    多个包逗号隔开。

    1、@Component

    @Component
    是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。

    2、@Controller

    @Controller对应表现层的Bean的注入

    3、@ Service

    @Service对应的是业务层Bean的注入

    4、@ Repository

    @Repository对应数据访问层Bean的注入

    5、@RequestMapping 

    映射 Request 请求与处理器

    (1)params属性

    1

    2

    3

    4

    5

    @RequestMapping (value= "testParams" , params={ "param1=value1" "param2" "!param3" })

        public String testParams() {

           System. out .println( "test Params..........." );

           return "testParams" ;

        }

      

    用@RequestMapping 的params 属性指定了三个参数,这些参数都是针对请求参数而言的,它们分别表示参数param1 的值必须等于value1 ,参数param2 必须存在,值无所谓,参数param3 必须不存在,只有当请求/testParams.do 并且满足指定的三个参数条件的时候才能访问到该方法。所以当请求/testParams.do?param1=value1&param2=value2 的时候能够正确访问到该testParams 方法,当请求/testParams.do?param1=value1&param2=value2&param3=value3 的时候就不能够正常的访问到该方法,因为在@RequestMapping 的params 参数里面指定了参数param3 是不能存在的。

    (2)method属性

    1

    2

    3

    4

    @RequestMapping (value= "testMethod" , method={RequestMethod. GET , RequestMethod. DELETE })

        public String testMethod() {

           return "method" ;

        }

      

    在上面的代码中就使用method 参数限制了以GET 或DELETE 方法请求/testMethod 的时候才能访问到该Controller 的testMethod 方法。

    (3)headers属性

    1

    2

    3

    4

    @RequestMapping (value= "testHeaders" , headers={ "host=localhost" "Accept" })

        public String testHeaders() {

           return "headers" ;

        }

    headers 属性的用法和功能与params 属性相似。在上面的代码中当请求/testHeaders.do 的时候只有当请求头包含Accept 信息,且请求的host 为localhost 的时候才能正确的访问到testHeaders 方法。

     @RequestMapping支持的方法参数类型

       (1 )HttpServlet 对象,主要包括HttpServletRequest 、HttpServletResponse 和HttpSession 对象。 这些参数Spring 在调用处理器方法的时候会自动给它们赋值,所以当在处理器方法中需要使用到这些对象的时候,可以直接在方法上给定一个方法参数的申明,然后在方法体里面直接用就可以了。但是有一点需要注意的是在使用HttpSession 对象的时候,如果此时HttpSession 对象还没有建立起来的话就会有问题。

       (2 )Spring 自己的WebRequest 对象。 使用该对象可以访问到存放在HttpServletRequest 和HttpSession 中的属性值。

       (3 )InputStream 、OutputStream 、Reader 和Writer 。 InputStream 和Reader 是针对HttpServletRequest 而言的,可以从里面取数据;OutputStream 和Writer 是针对HttpServletResponse 而言的,可以往里面写数据。

       (4 )使用@PathVariable 、@RequestParam 、@CookieValue 和@RequestHeader 标记的参数。

       (5 )使用@ModelAttribute 标记的参数。

       (6 )java.util.Map 、Spring 封装的Model 和ModelMap 。 这些都可以用来封装模型数据,用来给视图做展示。

       (7 )实体类。 可以用来接收上传的参数。

       (8 )Spring 封装的MultipartFile 。 用来接收上传文件的。

       (9 )Spring 封装的Errors 和BindingResult 对象。 这两个对象参数必须紧接在需要验证的实体对象参数之后,它里面包含了实体对象的验证结果。

    支持的返回类型

       (1 )一个包含模型和视图的ModelAndView 对象。

       (2 )一个模型对象,这主要包括Spring 封装好的Model 和ModelMap ,以及java.util.Map ,当没有视图返回的时候视图名称将由RequestToViewNameTranslator 来决定。

       (3 )一个View 对象。这个时候如果在渲染视图的过程中模型的话就可以给处理器方法定义一个模型参数,然后在方法体里面往模型中添加值。

       (4 )一个String 字符串。这往往代表的是一个视图名称。这个时候如果需要在渲染视图的过程中需要模型的话就可以给处理器方法一个模型参数,然后在方法体里面往模型中添加值就可以了。

       (5 )返回值是void 。这种情况一般是我们直接把返回结果写到HttpServletResponse 中了,如果没有写的话,那么Spring 将会利用RequestToViewNameTranslator 来返回一个对应的视图名称。如果视图中需要模型的话,处理方法与返回字符串的情况相同。

       (6 )如果处理器方法被注解@ResponseBody 标记的话,那么处理器方法的任何返回类型都会通过HttpMessageConverters 转换之后写到HttpServletResponse 中,而不会像上面的那些情况一样当做视图或者模型来处理。

       (7 )除以上几种情况之外的其他任何返回类型都会被当做模型中的一个属性来处理,而返回的视图还是由RequestToViewNameTranslator 来决定,添加到模型中的属性名称可以在该方法上用@ModelAttribute(“attributeName”) 来定义,否则将使用返回类型的类名称的首字母小写形式来表示。使用@ModelAttribute 标记的方法会在@RequestMapping 标记的方法执行之前执行。

    6.@PathVariable

    当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

    展开全文
  • Deprecated注解

    千次阅读 2019-06-12 10:10:58
    @Deprecated注解Deprecated注解作用 Deprecated注解作用 今天在项目开发中遇到了师兄写的这个@Deprecated 注解,以前的开发过程中没有见过,因此总结一下: 使用原因:外部正在调用或者二方库依赖的接口,不允许...

    @Deprecated注解

    Deprecated注解作用

    今天在项目开发中遇到了师兄写的这个@Deprecated 注解,以前的开发过程中没有见过,因此总结一下:

    • 使用原因:外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。
    • 含义:简言之,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。
    • 或许有人会问 为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?
      答: 因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。
    展开全文
  • @Deprecated注解功能

    万次阅读 多人点赞 2018-02-12 10:03:36
    昨天看阿里的java开发手册,其中有...接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。 这其中提到了 @Deprecated 注解,在之前的开发过程中没遇到过这个注解,于是查了下他的功能: ...

        昨天看阿里的java开发手册,其中有一个OOP规约(网上百度了一下,这个规约是阿里自己制定的),其中有一条:

        外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加 @Deprecated 注解,并清晰地说明采用的新接口或新服务是什么。

        这其中提到了 @Deprecated 注解,在之前的开发过程中没遇到过这个注解,于是查了下他的功能:

        简单来讲就是,若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐使用,因为还有更好的方法可以调用。

        或许有人会问 为什么会出现加这个注解呢,直接在写方法的时候定义一个新的不就好了吗?

        因为在一个项目中,工程比较大,代码比较多,而在后续开发过程中,可能之前的某个方法实现的并不是很合理,这个时候就要新加一个方法,而之前的方法又不能随便删除,因为可能在别的地方有调用它,所以加上这个注解,就方便以后开发人员的方法调用了。

    展开全文
  • @Deprecated注解是什么?有什么用?

    千次阅读 2018-07-15 16:42:45
    被注解@Deprecated的程序元素如一个方法findList会被废弃被废弃的程序元素会被打上横线如下图所示:原因是存在一个个更好的替代方法这个更好的方法 会在其他位置出现:如图所示:...

    被注解@Deprecated的程序元素如一个方法findList

    会被废弃

    被废弃的程序元素会被打上横线如下图所示:



    原因是存在一个个更好的替代方法

    这个更好的方法 会在其他位置出现:如图所示:




    展开全文
  • @Deprecated

    2019-09-27 11:05:52
    转载请标明出处^_^ 最近几天再过一遍阿里啊Java开发规范,打算将里面感觉理解模糊的小知识点...然后看到了@Deprecated注解,那这个注解有啥用呢? 字面含义为: | deprecated | | 英[ˈdeprəkeɪtɪd][](javascrip...
  • 今天偶然在项目中注意到一个注解:@Deprecated 1. 说明: @Deprecated 表示此方法已废弃、暂时可用,但以后此类或方法都不会再更新、后期可能会删除,建议后来人不要调用此方法。 2. 用法: 此注解可用于类上、...
  • JavaDoc中@Deprecated的字面意义是“这个方法废弃了,不要用它”。在项目实际应用中,意思是若某类或某方法加上该注解之后,表示此方法或类不再建议使用,调用时也会出现删除线,但并不代表不能用,只是说,不推荐...
  • 注解 “@Deprecated” 的含义与作用

    万次阅读 2016-07-12 15:03:14
    意思是说此方法已过时,过时的原因就是有新的API的类替代了次方法。  这个被划去的方法仍然是...@Deprecated public URL toURL() throws MalformedURLException { return new URL("file", "", slashify(getAbs
  • Java中@Deprecated作用、使用以及引用

    万次阅读 2015-11-11 09:28:21
     在Java中凡是使用@Deprecated标志的类,都是不鼓励使用的类,如果使用或者进行重写,程序会发出警告。 二、场景  一般的话,使用这个注释都是该类不再使用,比如说设计类的时候,之前类存在,但是现在由于...
  • VS2015 define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
  • 安装npm install nrm -g长时间停留在- fetchMetadata: WARN deprecated request@2.88.2: request has been deprecated 原因 资源问题,没有安装淘宝镜像 解决方法 配置淘宝镜像npm config set registry ...
  • 使用他人代码中出现下面的警告,需要将该方法改为如下所示: interfaceOrientation is deprecated:first deprecated in ios8.0 [[UIApplication sharedApplication] statusBarOrientation]
  • 因为这两种错误提示并不影响网页的正常运行,我们可以使页面不再出现这两种错误提示,方法如下: ...将 ;error_reporting = E_ALL修改为...error_reporting = E_ALL &~E_NOTICE &~E_DEPRECATED 然后重新启动服务器。
  • Deprecated: Function xxx() is deprecated

    万次阅读 2012-11-17 17:25:49
    1,Deprecated: Function ereg_replace() is deprecated 在php5.3.0后的版本,取消了对ereg函数的支持,惹得若干程序需要改动,譬如我安装的zen-card1.3.8,颇不方便。 错误:Deprecated: Function ereg() is ...
  • Deprecated: __autoload() is deprecated, use spl_autoload_register() 解决:可能原因PHP版本过高,亲测discuz3.4版本使用php7.2.10会出现此bug,更换到php7.1以下就可以
  • php 5个版本,5.2、5.3、5.4、5.5,怕跟不上时代,新的服务器... mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说mysql_c
  • 错误The type XXX is deprecated解决

    千次阅读 2017-02-23 14:47:36
    错误The type XXX is deprecated解决
  • 配置淘宝镜像 npm config set registry https://registry.npm.taobao.org 配置完成后检验是否成功 npm config get registry 重新安装 npm install nrm -g 查看所用的镜像 nrm ls ...
  • 在安装PHPCMS出现Deprecated: Function set_magic_quotes_runtime() is deprecated 错误,查了一下网络及资料发现是PHP5.3和PHP6.0之后移除了set_magic_quotes_runtime()函数。   set_magic_quotes...
  • vue-cli安装报错npm WARN deprecated coffee-script@1.12.7

    万次阅读 热门讨论 2020-01-03 10:00:14
    安装Vue-cli时候,执行npm install -g vue-cli报错npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to “coffeescript” (no hyphen),如图: 解决办法: npm install --global ...
1 2 3 4 5 ... 20
收藏数 130,767
精华内容 52,306
关键字:

deprecated