SpringBoot入门学习(三)之BUG

23 篇文章 1 订阅
6 篇文章 0 订阅

记录学习,不进行正文展示

目录

1、在springboot中配置日期类型转换器 (可直接引用)

2、Autowired与Resource

3、application.properties


1、springboot中配置日期类型转换器 (可直接引用)

package com.qinluyu.config;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Component
public class DateConverterConfig implements Converter<String, Date> {
    private static final List<String> formarts = new ArrayList<>(4);
    static{
        formarts.add("yyyy-MM");
        formarts.add("yyyy-MM-dd");
        formarts.add("yyyy-MM-dd hh:mm");
        formarts.add("yyyy-MM-dd hh:mm:ss");
    }
    @Override public Date convert(String source) {
        String value = source.trim();
        if ("".equals(value)) {
        return null;
    }
        if(source.matches("^\\d{4}-\\d{1,2}$")){
            return parseDate(source, formarts.get(0));
        }
        else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")){
            return parseDate(source, formarts.get(1));
        }
    else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")){
        return parseDate(source, formarts.get(2));
    }
    else if(source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")){
        return parseDate(source, formarts.get(3));
    }
    else {
        throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
    }

    }

    /**
     *
     *  格式化日期
     *   @param dateStr String 字符型日期
     *   @param format String 格式
     *   @return Date 日期
     */
    public Date parseDate(String dateStr, String format) {
        Date date=null;
        try {
            DateFormat dateFormat = new SimpleDateFormat(format);
            date = dateFormat.parse(dateStr);
        }
        catch (Exception e) {

        }
        return date;
    }
}

2、Autowired与Resource

先看结果

 

区别:

@Autowired 为 Spring 的注解默认是根据 type 进行注入,

@Resource默认按byName自动注入

具体你那个代码为啥用@Resource能行还得看具体原因

3、application.properties

#mybatis 别名扫描
mybatis.type-aliases-package=com.qinluyu.entity
spring.resources.static-locations=classpath:/static/
spring.thymeleaf.prefix=classpath:/templates/
#mapper配置文件
mybatis.mapper-locations=classpath:mybatis/*.xml
#关闭thymeleaf缓存
spring.thymeleaf.cache=false

4、分页测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class BillServiceTest{
    @Resource
    private BillService billService;
    @Test
    public void testListPage() {
        Bill b = new Bill();
        b.setTitle("a");
        PageInfo<Bill> page = PageHelper.startPage(2, 10).doSelectPageInfo(() -> {
            billService.list(b);
        });
        page.getList().forEach(bill -> {
            System.out.println(bill.getId() + " " + bill.getTitle());
        });
        System.out.println("总行数=" + page.getTotal());
        System.out.println("当前页=" + page.getPageNum());
        System.out.println("每页行数=" + page.getPageSize());
        System.out.println("总页数=" + page.getPages());
        System.out.println("起始行数=" + page.getStartRow());
        System.out.println("是第一页=" + page.isIsFirstPage());
        System.out.println("是最后页=" + page.isIsLastPage());
        System.out.println("还有下一页=" + page.isHasNextPage());
        System.out.println("还有上一页=" + page.isHasPreviousPage());
        System.out.println("页码列表" + Arrays.toString(page.getNavigatepageNums()));
    }
}
<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初尘屿风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值