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); }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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); } }
异步执行
@SpringBootApplication注解下面加上
@EnableAsync注解
需要异步的方法上加上@Async注解
该类前面加上@Component注解
打包和运行
在下面 terminal中输入
mvn package -DskipTests
或者在“Maven”窗口中先点击,表示不测试,然后然后双击package
在target目录中有jar包生成
运行
java -jar XYZ.jar
注意Win10控制台默认点击窗口会暂停程序,
此时需要右键窗口,点击“属性”,取消勾选“快速编辑模式”