Jackson封装工具类
package com.chen.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import java.text.SimpleDateFormat;
/**
* jackson工具类
*/
public class JsonUtils {
public static String getJson(Object object){
return getJson(object,"yyyy-MM-dd HH:mm:ss");
}
public static String getJson(Object object,String dataFormat) {
ObjectMapper mapper = new ObjectMapper();
//关闭Jackson时间戳
mapper.configure(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS, false);
//时间格式化问题
SimpleDateFormat sdf = new SimpleDateFormat(dataFormat);
//让mapper指定时间日期格式为simpleDateFormat
mapper.setDateFormat(sdf);
try {
return mapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
}
MybatisUtils工具类
package com.iflytek.bookmanagesystem.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
//工具类
public class MybatisUtils {
//提升作用域
private static SqlSessionFactory sqlSessionFactory;
static {
//从 XML 文件中构建 SqlSessionFactory
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//获取sqlSession
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
DateUtil日期工具类
package com.iflytek.bookmanagesystem.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
// 将日期对象转为字符串
public static String date2Str(Date date, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
public static String date2Str(Date date) {
return date2Str(date, "yyyy-MM-dd");
}
// 将字符串转为日期对象
public static Date str2Date(String str, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
return sdf.parse(str);
} catch (ParseException e) {
throw new RuntimeException("日期转换出错了!", e);
}
}
public static Date str2Date(String str) {
return str2Date(str, "yyyy-MM-dd");
}
}
生成token
package com.chen.utils;
import cn.hutool.core.date.DateUtil;
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.chen.mapper.UserMapper;
import com.chen.pojo.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
@Slf4j
@Component
public class TokenUtils {
@Resource
private UserMapper userMapper;
private static UserMapper staticUserMapper;
@PostConstruct
public void init() {
staticUserMapper = userMapper;
}
/**
* 生成token
* @param user
* @return
*/
public static String genToken(User user) {
return JWT.create().withExpiresAt(DateUtil.offsetDay(new Date(), 1)).withAudience(user.getId().toString())
.sign(Algorithm.HMAC256(user.getPassword()));
}
/**
* 获取token中的用户信息
* @return
*/
public static User getUser() {
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token = request.getHeader("token");
String aud = JWT.decode(token).getAudience().get(0);
Integer userId = Integer.valueOf(aud);
return staticUserMapper.selectById(userId);
} catch (Exception e) {
log.error("解析token失败", e);
return null;
}
}
}
邮件发送
package com.chen;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
@SpringBootTest
class SpringbootTestApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
//一个简单的邮件
@Test
void contextLoads() {
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("NBA快报");//标题
mailMessage.setText("险些25分逆转威少:我们打得还不够强硬");//内容
mailMessage.setTo("2776895893@qq.com");
mailMessage.setFrom("2776895893@qq.com");
mailSender.send(mailMessage);
}
//复杂的邮件
@Test
void contextLoads2() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();//创建一个复杂的
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
helper.setSubject("NBA快报");
helper.setText("<p style='color:red'>险些25分逆转威少:我们打得还不够强硬</p>",true);//支持html
//附件
helper.addAttachment("1.jpg",new File("F:\\chenchao\\Saved Pictures\\timg.jpg"));
helper.addAttachment("1.jpg",new File("F:\\chenchao\\Saved Pictures\\timg.jpg"));
helper.setTo("2776895893@qq.com");
helper.setFrom("2776895893@qq.com");
mailSender.send(mimeMessage);
}
/**
* @author chen
* @param html
* @param subject
* @param text
* @throws MessagingException
*/
public void sendMail(Boolean html,String subject,String text) throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();//创建一个复杂的
//组装
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,html,"utf-8");
helper.setSubject(subject);
helper.setText(text,html);//支持html
//附件
helper.addAttachment("1.jpg",new File("F:\\chen\\Saved Pictures\\timg.jpg"));
helper.addAttachment("1.jpg",new File("F:\\chen\\Saved Pictures\\timg.jpg"));
helper.setTo("xxx@qq.com");
helper.setFrom("xxx@qq.com");
mailSender.send(mimeMessage);
}
}