自定义时间工具包
package com.gem.demo.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; /** * * Title: DateUtil * * Description: * * @version v0.01 * * @author ByChai * * @date 2020年7月31日 上午8:33:39 * * */ public class DateUtil { /** * * @param date * @return 按照默认格式的时间字符串 */ public static String dateToString(Date date) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(date); } /** * * @param date * @param pattern * @return 指定格式的时间字符串 */ public static String dateToString(Date date,String pattern) { SimpleDateFormat sdf=new SimpleDateFormat(pattern); return sdf.format(date); } /** * * @param str * @return 默认格式的时间 */ public static Date stringToDate(String str) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { return sdf.parse(str); } catch (ParseException e) { System.err.println("时间转换失败"); } return null; } /** * * @param str * @return 指定格式的时间 */ public static Date stringToDate(String str,String pattern) { SimpleDateFormat sdf=new SimpleDateFormat(pattern); try { return sdf.parse(str); } catch (ParseException e) { System.err.println("时间转换失败"); } return null; } }
利用反射获取对象
自定义工具类
package com.gem.demo.util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * * Title: BeanFactory * * Description: * 工具类: 读取配置问价 创建对象 * @version v0.01 * * @author ByChai * * @date 2020年8月13日 下午3:04:59 * * */ public class BeanFactory { static Properties properties; static { //静态代码块 try { //实例化属性集对象 properties=new Properties(); //将配置文件内容读取到流中 InputStream is=Thread.currentThread().getContextClassLoader().getResourceAsStream("bean.properties"); //加载 properties.load(is); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * * @param name 配置文件的属性名 * @return 根据属性名创建出的对象 */ public static Object getBean(String name) { Object object=null; try { //获取Class对象 Class<?> c=Class.forName(properties.getProperty(name)); //反射调用构造器创建对象 object=c.getConstructor().newInstance(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return object; } }
Spring
JdbcTemplate 获取连接池对象,获取链接的自定义工具包
package com.gem.demo.util; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class JDBCUtil { //使用默认配置 private static ComboPooledDataSource pool = new ComboPooledDataSource(); //获取连接池对象 public static DataSource getDataSource() { return pool; } //获取连接 public static Connection getConnection() { try { //从数据库连接池中获取链接 return pool.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } //返回链接 public static void close(Connection conn, Statement stmt) { if (stmt != null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void close(Connection conn, Statement stmt, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } close(conn, stmt); } }