import org.springframework.stereotype.Component;
 
@Component
public class DesensitizedTransformer {
 
    /**
     * 手机号数据脱敏
     * @param phoneNo 手机号
     * @return 脱敏后的手机号
     */
    public String transformPhoneNo(String phoneNo) {
        if (phoneNo == null) {
            return null;
        }
        return phoneNo.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    }
 
    /**
     * 邮箱数据脱敏
     * @param email 邮箱地址
     * @return 脱敏后的邮箱地址
     */
    public String transformEmail(String email) {
        if (email == null) {
            return null;
        }
        int index = email.lastIndexOf("@");
        if (index <= 1) {
            return email;
        }
        return email.substring(0, 1) + "*****" + email.substring(index);
    }
 
    // 其他数据脱敏方法...
}这个示例中,我们定义了一个DesensitizedTransformer组件,包含了transformPhoneNo和transformEmail方法,分别用于手机号和邮箱的数据脱敏。在实际使用时,可以通过依赖注入的方式注入DesensitizedTransformer,然后调用对应的脱敏方法。