springboot 极简使用例子: redis,MySql数据库,日志,netty,打包和运行
2024-09-01 15:04:36
配置
创建项目的时候选择
application.yml内容如下
spring:
redis:
host: 127.0.0.1
port: 6379
database: 0 datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/alertremotecontrol?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=true
username: root
password: 123456 jpa:
hibernate:
ddl-auto: update
show-sql: true
user:
redis_prefix: USERS_REDIS_PREFIX
token_name: LOGIN_TOKEN
Redis
@Autowired
private StringRedisTemplate template;
....
template.opsForValue().set("hello", para);
template.expire("hello", 60, TimeUnit.SECONDS);
日志
每一个类添加成员
private final Logger logger = LoggerFactory.getLogger(getClass());
然后记录的时候,logger.info("xxx"),logger.error("xxx")即可。
如果还要记录到文件,YML配置添加
logging:
file: ./logback.txt
netty
Springboot中集成Netty
Springboot主类实现 接口
CommandLineRunner
在run方法中运行netty 。
Handler中注入Springboot对象,比如UserService
public class UserHandler extends ChannelInboundHandlerAdapter {
private static UserService userService;
static {
userService = SpringUtil.getBean(UserService.class);
}
import org.springframework.context.ApplicationContext;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component; @Component
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext; @Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (SpringUtil.applicationContext == null) {
SpringUtil.applicationContext=applicationContext;
}
} public static ApplicationContext getApplicationContext() {
return applicationContext;
} public static Object getBean(String name) {
return getApplicationContext().getBean(name);
} public static <T> T getBean(Class<T> clazz) {
return getApplicationContext().getBean(clazz);
} public static <T> T getBean(String name, Class<T> clazz) {
return getApplicationContext().getBean(name, clazz);
}
}
SpringUtil的代码
异步执行
@SpringBootApplication注解下面加上
@EnableAsync注解
需要异步的方法上加上@Async注解
该类前面加上@Component注解
打包和运行
在下面 terminal中输入
mvn package -DskipTests
或者在“Maven”窗口中先点击,表示不测试,然后然后双击package
在target目录中有jar包生成
运行
java -jar XYZ.jar
注意Win10控制台默认点击窗口会暂停程序,
此时需要右键窗口,点击“属性”,取消勾选“快速编辑模式”
最新文章
- HTTP Status 400 - Required String parameter &#39;userName&#39; is not present 错误
- ASP.NET MVC 5 Jquery Validate
- PHP好任性 —— 大小写敏感有两种规则,然而并没有什么特别原因
- MySQL学习笔记十:日志管理
- G - 非常可乐
- java提高篇(二)-----理解java的三大特性之继承
- Python学习路程day1
- Restful API的设计与实践
- How to Build FFmpeg for Android
- [HTML/CSS]display:none和visibility:hidden的区别
- Descending Order
- Breaking parallel loops in .NET C# using the Stop method z
- cocos2d-x增加控制台程序代码
- [Angular Tutorial] 5-Filtering Repeaters
- 使用openXML 不用插件导出excel
- Dubbox中开发REST风格的远程调用
- 1. Scala概述
- mysql中使用存储过程方法中的注意事项
- nodejs----初期学习笔记
- long的变量后面没有L加会有什么后果
热门文章
- Java 实现在固定区间内随机生成整数
- 伪元素::before和::after的详细介绍
- [Flask]sqlalchemy使用count()函数遇到的问题
- gulp 使用指南
- 项目部署中,tomcat报java.lang.OutOfMemoryError: PermGen space
- python数据分析-数据导入
- 踩坑:VScode 集成 eslint 插件
- SQL optimizer -Query Optimizer Deep Dive
- spark streaming 6: BlockGenerator、RateLimiter
- find 命令详细解释