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

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

  • 相关阅读:
    mysql优化
    c语言学习的第10天
    学习c语言的第9天
    学习c的第8天
    学习c的第7天
    学习c的第6天2
    c语言学习的第6天
    sed命令实战
    grep命令实战
    c语言学习的第五天
  • 原文地址:https://www.cnblogs.com/noigel/p/11419168.html
Copyright © 2020-2023  润新知