@Slf4j @SpringBootApplication @MapperScan({"org.jeecg.**.mapper", "com.sky.**.mapper"}) @EnableTransactionManagement() //@EnableFeignClients(basePackages = {"org.jeecg", "com.sky"}) @ComponentScan(basePackages = {"org.jeecg", "com.sky"}, excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = {DynamicDataSourceConfig.class, DynamicTenantInterceptor.class})) public class SkyPlatformSystemApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SkyPlatformSystemApplication.class); } /** * 监听器:监听HTTP请求事件 * 解决RequestContextHolder.getRequestAttributes()空指针问题 * * @return */ @Bean public RequestContextListener requestContextListener() { return new RequestContextListener(); } public static void main(String[] args) throws UnknownHostException { // log.info("数据库密码:" + SecurityExtUtil.jiami("sky_mall")); ConfigurableApplicationContext application = SpringApplication.run(SkyPlatformSystemApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port"); String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path")); log.info("\n-----------------------------------------------------------\n\t" + "Application Sky-Platform-Boot is running! Access URLs:\n\t" + "Local: \t\t\thttp://localhost:" + port + path + "/\n\t" + "External: \t\thttp://" + ip + ":" + port + path + "/\n\t" + "Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" + "-----------------------------------------------------------"); }这是什么意思
时间: 2024-04-16 13:24:42 浏览: 211
这段代码是一个Java Spring Boot应用程序的入口类。它使用了Spring Boot的注解来配置和启动应用程序。
`@Slf4j` 是一个Lombok注解,用于自动生成日志记录器。它简化了在类中创建Logger对象的过程。
`@SpringBootApplication` 是一个组合注解,用于标记主应用程序类。它等效于使用`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`这三个注解。
`@MapperScan` 用于扫描指定包下的Mapper接口,通常用于MyBatis配置。
`@EnableTransactionManagement` 启用Spring的事务管理功能。
`@EnableFeignClients` 用于启用Feign客户端,可以进行远程方法调用。
`@ComponentScan` 用于扫描指定包下的组件,包括控制器、服务、仓库等。
`extends SpringBootServletInitializer` 是为了支持将应用程序部署为WAR文件。
`configure()` 方法是为了配置SpringApplicationBuilder以支持WAR文件部署。
`@Bean` 注解用于声明一个bean,这里声明了一个RequestContextListener的实例。
`main()` 方法是应用程序的入口点,通过调用SpringApplication的静态方法`run()` 来启动应用程序。它还获取了应用程序的环境变量,并打印了应用程序的访问URL。
最后,使用`log.info()` 打印了应用程序运行时的访问URL信息。
阅读全文