package com.canrd.webmagic; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.canrd.webmagic.common.directory.Path; import com.canrd.webmagic.common.utils.SpringContextHolder; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * @author: xms * @description: * @date: 2024/1/12 14:00 * @version: 1.0 */ @EnableAsync @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}, scanBasePackages = {"com.canrd.webmagic"}) @MapperScan("com.canrd.webmagic.**.mapper") @EnableScheduling @EnableTransactionManagement public class Application { private static void setLogPath() { String appPath = Path.getAppPath(Application.class); System.setProperty("logging.path", appPath); } @Bean public SpringContextHolder springContextHolder() { return new SpringContextHolder(); } public static void main(String[] args) { setLogPath(); SpringApplication.run(Application.class, args); } /** * 分页插件 * * @return */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.POSTGRE_SQL)); return interceptor; } }