springboot 极简使用例子: redis,MySql数据库,日志,netty,打包和运行
配置
创建项目的时候选择

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控制台默认点击窗口会暂停程序,
此时需要右键窗口,点击“属性”,取消勾选“快速编辑模式”
springboot 极简使用例子: redis,MySql数据库,日志,netty,打包和运行的更多相关文章
- MySQL数据库日志文件(redo与undo)
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库日志文件时间:2019年2月25日内容:MySQL数据库日志文件(redo日志和undo日志 ...
- Mysql数据库日志类型查询与配置详解
在mysql中日志分为很多种,下面小编来给大家介绍Mysql数据库日志类型查询与使用,希望对各位同学会有所帮助 mysql常见的日志类型有五种:错误日志.二进制日志.查询日志.慢查日志和中继日志. 一 ...
- delphi+mysql做的图书管理系统,怎么把mysql数据库也一起打包进去?我用的是delphi的Express组件。
sqlconnection,sqlquery1这些组件,我连接数据库的时候是用对象编辑器里的属性进行连接的,在sqlconnection中指定了字符集utf8,有些人做的方法是利用代码连接的数据库,如 ...
- 发布Rest风格的WebService的SpringBoot极简例子
JDK:1.8.0_212 IDE:STS4(Spring Tool Suit4 Version: 4.3.2.RELEASE) 工程下载:https://files.cnblogs.com/file ...
- SpringBoot框架:使用mybatis连接mysql数据库完成数据访问(二)
一.导入依赖包 1.在创建项目时勾选: 勾选SQL中的JDBC API.MyBatis Framework.MySQL Driver,创建项目后就会自动配置和引入这些包. 2.在pom.xml文件中添 ...
- Springboot+mybatis中整合过程访问Mysql数据库时报错
报错原因如下:com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone.. 产生这个 ...
- SpringBoot 集成 Mybatis 使用 Druid数据源 MySQL数据库
思路: 1.创建项目 项目结构如下: 2.导入相应包 POM.xml文件如下: <?xml version="1.0" encoding="UTF-8"? ...
- 《Springboot极简教程》问题解决:Springboot启动报错 Whitelabel Error Page: This application has no explicit mapping for(转)
13.2 Spring Boot启动报错:Whitelabel Error Page 13.2 Spring Boot启动报错:Whitelabel Error Page 问题描述 Whitelabe ...
- Mysql 数据库日志与数据文件分开
参考:https://blog.csdn.net/jiao_fuyou/article/details/78366621 myql默认配置情况下,二进制日志文件是保存在默认的数据目录 data 下,如 ...
随机推荐
- Python 多线程Ⅲ
线程优先级队列( Queue) Python的Queue模块中提供了同步的.线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列Prior ...
- Mysql历史版本下载地址
Mysql历史版本下载地址:http://downloads.mysql.com/archives/community/
- Servlet中的乱码问题及解决办法
假设现在有个form表单,当页面中提交一个包含中文的请求时,在服务端有可能出现中文乱码问题. <!DOCTYPE html> <html> <head> <m ...
- Linux内核概述
概述 1. 多数服务器都是Linux,Windows只在PC方面应用. 2. .NET只能在Windows中应用,适用于中小型项目,在大型项目中应用很少.现在出现了Windows服务器(外围的服务器) ...
- Vue_(组件通讯)父子组件简单关系
Vue组件 传送门 在Vue的组件内也可以定义组件,这种关系成为父子组件的关系 如果在一个Vue实例中定义了component-a,然后在component-a中定义了component-b,那他们的 ...
- yum update 更新失败
1.yum安装东西的时候,老是报:There are unfinished transactions remaining. You might consider running yum-complet ...
- git 撤销修改和版本回退
1. 工作区 文件只是在工作区进行了修改,还没有提交到暂存区(未进行 git add 操作) 此时可以使用 git checkout -- filename 撤销工作区文件的修改 效果相当 ...
- Java Date转Json报错解决方案
报错信息为: Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImp ...
- Ubuntu16.04配置vncserver后 导致重复进入登陆界面,无法进入桌面的问题
1.在配置vncserver的时候,可能导致该用户不能正常登录桌面. 2.问题现象:正确输入密码,系统无法进入桌面,闪回到登录界面. 3.在登录界面按ctrl+Alt+F1,进入虚拟控制台(输入r ...
- 离线安装nuget包EPPlus
1先去https://www.nuget.org/packages/EPPlus/4.1.0下载,epplus.4.1.0.nupkg 2找到本地文件位置:H:\DOWNLOAD\ 3在vs的程序包管 ...