Spring AOP 打印接口日志
type
Post
status
Published
date
Mar 3, 2021
slug
summary
之前介绍了过滤器和拦截器打印接口日志的方式,这篇记录一下 AOP 打印接口出入参日志的实现方式
tags
项目方案
category
技术分享
icon
password
AOP 使用
SpringBoot 项目中,只需要引入SpringBoot 集成的 AOP 依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
包含了用于解析切点表达式,实现切面类和方法匹配的 AspectJ 中的 Weaver 组件
常见三大数据库连接池使用及工具类抽取
type
Post
status
Published
date
Feb 1, 2021
slug
summary
DBCP、C3P0、Druid连接池的使用和常见配置
tags
项目方案
category
技术分享
icon
password
DBCP
DBCP 是Apache成员之一,在企业开发中也比较常见,也是tomcat内置的连接池
DBCP 工具类
public class DBCPUtils { //1.定义常量 保存数据库连接的相关信息 public static final String DRIVERNAME = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/db5?characterEncoding=UTF-8"; public static final String USERNAME = "root"; public static final String PASSWORD = "123456"; //2.创建连接池对象 (有DBCP提供的实现类) public static BasicDataSource dataSource = new BasicDataSource(); //3.使用静态代码块进行配置 static{ dataSource.setDriverClassName(DRIVERNAME); dataSource.setUrl(URL); dataSource.setUsername(USERNAME); dataSource.setPassword(PASSWORD); dataSource.setMaxActive(20); } //4.获取连接的方法 public static Connection getConnection() throws SQLException { //从连接池中获取连接 Connection connection = dataSource.getConnection(); return connection; } //5.释放资源方法 public static void close(Connection con, Statement statement){ if(con != null && statement != null){ try { statement.close(); //归还连接 con.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static void close(Connection con, Statement statement, ResultSet resultSet){ if(con != null && statement != null && resultSet != null){ try { resultSet.close(); statement.close(); //归还连接 con.close(); } catch (SQLException e) { e.printStackTrace(); } } } }