@Resource
private JavaMailSender mailSender;
@Value("${spring.mail.username}")
private String from;
@Override
public boolean snedEmail(String to, String subject, String content) {
new Thread(() -> {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(to);
message.setSubject(subject);
message.setText(content);
mailSender.send(message);
}).start();
return true;
}
4.redis工具栏
@Component
public class RedisUtil {
@Autowired
private RedisTemplate redisTemplate;
public boolean set(final String key, Object value) {
try {
redisTemplate.opsForValue().set(key, value, 5, TimeUnit.MINUTES);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public boolean exists(final String key) {
if (key.equalsIgnoreCase("null")) {
return false;
}
if (redisTemplate.hasKey(key)) {
return true;
}
return false;
}
public String get(final String key) {
if (exists(key)) {
return (String) redisTemplate.opsForValue().get(key);
}
return null;
}
public List
5.产生随机字符串工具类
@Component
public class Create {
public String createNumber(int length) {
String str = "0123456789";
Random random = new Random();
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(9);
stringBuffer.append(str.charAt(number));
}
return String.valueOf(stringBuffer);
}
public String createString(int length) {
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random random = new Random();
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < length; i++) {
int number = random.nextInt(52);
stringBuffer.append(str.charAt(number));
}
return String.valueOf(stringBuffer);
}
public String createStringWithNumber(int length) {
String val = "";
Random random = new Random();
for (int i = 0; i < length; i++) {
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
if ("char".equalsIgnoreCase(charOrNum)) {
int tmp = random.nextInt(2) % 2 == 0 ? 64 : 97;
val += (char) (random.nextInt(26) + tmp);
} else if ("num".equalsIgnoreCase(charOrNum)) {
val += String.valueOf(random.nextInt(10));
}
}
return val;
}
}
6.redis配置
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
7.配置跨域请求
@Configuration
public class CrossConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}