zoukankan      html  css  js  c++  java
  • 3

    1.项目引进来的jar包中的类,我们不仅可以拿来直接用,还可以继承jar包中的类,我们继承的类再本地添加一些自己的方法。
    class BeanUtil extends BeanUtils {
    static {
    ConvertUtils.register(new DateConvert(), java.util.Date.class);
    ConvertUtils.register(new DateConvert(), java.sql.Date.class);
    }

    public static <P> P copy(P dest, Object orig) {
    try {
    BeanUtils.copyProperties(dest, orig);
    } catch (IllegalAccessException e) {
    throw new PafaRuntimeException("bean copy Illegal exception", e);
    2.捕获异常,在catch代码块,我们可以throw自己定义的异常。
    try {
    BeanUtils.copyProperties(dest, orig);
    } catch (IllegalAccessException e) {
    throw new PafaRuntimeException("bean copy Illegal exception", e);
    } catch (InvocationTargetException e) {
    throw new PafaRuntimeException("bean copy Invocation exception", e);
    } catch (Exception e) {
    throw new PafaRuntimeException("bean copy exception", e);
    }

    3.static方法只有一个用途和优点,就是可以不声明对象情况下使用,其他的没啥用处。static不像static变量和static代码块那样用途多。
    static方法是类的方法。也就是说,类被加载到内存之后,即使没有对象的情况下也能够被正常调用的方法。
    这种方法往往具有特殊性,类似于“跳出三界外,不在五行中”的感觉。
    如果所有的方法都变成了静态方法的话,那Java语言就退化成过程语言了,因此绝对是不可以的。

    典型的静态方法除了上面的main之外,还有,比如对类本身的一些操作,如:使用类的计数,或者工具类方法(Math.sin(), Thread.sleep())等等。
    4.Spring创始人Rod Johnson
    5. Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。
    6.BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等.
    7.Betwixt XML与Java对象之间相互转换.
    Codec 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等.
    Collections java集合框架操作.
    Compress java提供文件打包 压缩类库.
    Configuration 一个java应用程序的配置管理类库.
    DBCP 提供数据库连接池服务.
    FileUpload 提供文件上传功能.
    HttpClient 提供HTTP客户端与服务器的各种通讯操作. 现在已改成HttpComponents
    IO io工具的封装.
    Lang Java基本对象方法的工具类包 如:StringUtils,ArrayUtils等等.
    Validator 提供了客户端和服务器端的数据验证框架.
    10.apache Commons-BeanUtils 提供了对于JavaBean进行各种操作, 比如对象,属性复制等等。

    20.spring框架用到了很多common的jar包。jar之间是传递依赖引用的。比如1) spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各个的基本。
    21.apache的commons jar包是个非常出名的jar包集合,里面封装了很多常用的工具类。

    22.工具类里面的方法为什么都是静态的?工具类,工具类嘛,就是很少使用,即使使用,也只用1两次,用完就归还。所以没必要创建对象,直接静态方法调用就行

    23.Eclipse 保存Java文件时自动格式化代码和优化Import
      Eclipse中format代码的快捷方式是ctrl+shift+F,如果大家想保存 java文件的时候 自动就格式化代码+消除不必要的import 包,可以简单的做以下配置就可以实现。
    答:windows->preference->java->editor->save actions选择format source code和organize import

    24.常亮命名是要大写的,且为public,static的都是public的,不是private的。public final static String SCORE_TYPE_SIGN_MESSAGE = "6"; //签到送积分

    25.静态代码块static{}是非常非常常用的。

    26.配置文件里的一些数据,property文件里的数据。基本都是通过static代码块初始化添加进去的。
    27.只有在方法上,方法修改
    28.再次强调,string是个final类,任何对string的操作和修改,都不会对原有string产生任何影响。原有string不会修改。会产生一个新的string对象。
    String testString = "abcd";
    String testString2 = "1111";
    String result = StringUtils.rightPad(testString, 7);
    logger.info(result + "111");

    显示结果:abcd 111
    [INFO ] 2017-02-16 14:43:01,157 method:Service.CommonsLangJarTest.test(CommonsLangJarTest.java:21)
    true
    29.如果是StringUtils.rightPad(testString, 7)+“111”,teststring依然是abcd。加上1111后,也只是会产生一个新的string。
    30.commons beanUtil类,能将一个javabean复制到另一个javabean.包括成员变量。能做javaBean的复制
    33.单例模式的对象,是时刻保存在内存中的,方法区中。只有一份。单利模式的对象,只有一份!单例模式的对象只有一份。
    31.在class上面添加类的注释,@author之类的
    /**
    * 数据对象参数字段复制
    *
    * @author dongxinghua327
    *
    */

    32.类启动读取property配置文件
    package com.paic.mobile.direct;

    import java.util.Properties;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;
    import org.springframework.core.io.support.PropertiesLoaderUtils;

    /**
    * 读取um配置文件内容
    *
    * @author dongxinghua327
    *
    */
    public class UmSecurityConfigUtils {

    private static Properties config = new Properties();

    private static final String CONFIG_NAME = "context-um2config.properties";

    private static Log log = LogFactory.getLog(UmSecurityConfigUtils.class);

    private static UmSecurityConfigUtils configUtils = new UmSecurityConfigUtils();

    public static UmSecurityConfigUtils getInstance() {
    return configUtils;
    }

    private UmSecurityConfigUtils(){
    printLog();

    init();
    }

    public String getValue(String key) {
    return config.getProperty(key);
    }

    public String getValue(String key, String defaultValue) {
    return config.getProperty(key, defaultValue);
    }

    private void init() {
    try{
    Resource resource = new ClassPathResource(CONFIG_NAME);
    config = PropertiesLoaderUtils.loadProperties(resource);
    } catch (Exception e) {
    if(log.isErrorEnabled()) {
    log.error("um load config error!", e);
    }
    }
    }

    private void printLog() {
    if(!log.isInfoEnabled()) return;

    log.info("****************************************");
    log.info("* *");
    log.info("* init UmSecurityConfigUtils *");
    log.info("* *");
    log.info("****************************************");
    }

    }

    public class BeanCloneUtils
    logger.info(StringUtils.isNumeric(testString2) + "");


    35.专门装有static数据的类,只要被调用一次。那么这些类的static变量和static代码块就会被全部初始化了。后续代码就可以随时调用了。时刻保存在内存中。
    36.static变量和static代码块的精髓在于:只要初始化一次,就是第一次初始化过了,那么这些数据就会全部保存在且一直保存在内存里了,后续代码就可以直接调用了。
    不像其他对象那样,后续要用,再重新new.所以关于static变量和static代码块,可以再次理解深入了。可以没必要项目启动时,专门有个类来进行调用。只需要安静的等待代码第一次主动调用就行。后期会创建后,就一直保存在内存里了。

    37.HttpServletResponse可以手动设置响应码,响应编码类型。
    HttpServletResponse resp = response;
    resp.setStatus(500);
    resp.setContentType((new StringBuilder())
    .append("text/html; charset=")
    .append(request.getCharacterEncoding()).toString());

  • 相关阅读:
    Ubuntu 20.04 国内下载eclipse 网速慢解决方案
    Ubuntu20.04+GeForce RTX 2080 SUPER+cuda11.1+cudnn8.0.4+openCV4.4.0编译
    计算机专业考研复试面试----计算机组成原理
    计算机专业考研复试面试----操作系统
    Gabor滤波(个人学习)
    局部保留投影算法(个人学习)
    【转载】matlab常用函数
    latex常见的错误(自己经常出现的)
    latex常用的宏包(转载)
    C语言基础知识
  • 原文地址:https://www.cnblogs.com/panxuejun/p/6407004.html
Copyright © 2011-2022 走看看