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控制台默认点击窗口会暂停程序,

此时需要右键窗口,点击“属性”,取消勾选“快速编辑模式”

原文地址:https://www.cnblogs.com/noigel/p/11419168.html