|
@@ -0,0 +1,70 @@
|
|
|
|
|
+package space.anyi.config;
|
|
|
|
|
+
|
|
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
|
|
+import org.springframework.context.annotation.ComponentScan;
|
|
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
|
|
+import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
|
|
|
|
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
|
|
|
|
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
|
|
|
|
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
|
|
|
+import org.thymeleaf.spring5.SpringTemplateEngine;
|
|
|
|
|
+import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
|
|
|
|
|
+import org.thymeleaf.spring5.view.ThymeleafViewResolver;
|
|
|
|
|
+import org.thymeleaf.templatemode.TemplateMode;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @fileName: SpringMvcConfig
|
|
|
|
|
+ * @projectName: SSM_template
|
|
|
|
|
+ * @package: space.anyi.config
|
|
|
|
|
+ * @author: 杨逸
|
|
|
|
|
+ * @date:2026/4/24 14:02
|
|
|
|
|
+ * @description: SpringMvc配置类替代spring-mvc.xml
|
|
|
|
|
+ */
|
|
|
|
|
+@Configuration
|
|
|
|
|
+@ComponentScan(basePackages = {"space.anyi.controller"}) // 扫描Controller
|
|
|
|
|
+@EnableWebMvc // 启用Spring MVC注解
|
|
|
|
|
+public class SpringMvcConfig implements WebMvcConfigurer {
|
|
|
|
|
+ // 配置视图解析器
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ public ThymeleafViewResolver thymeleafViewResolver(SpringTemplateEngine templateEngine){
|
|
|
|
|
+ ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
|
|
|
|
|
+ viewResolver.setTemplateEngine(templateEngine);
|
|
|
|
|
+ viewResolver.setCharacterEncoding("UTF-8");
|
|
|
|
|
+ viewResolver.setCache(false);
|
|
|
|
|
+ return viewResolver;
|
|
|
|
|
+ }
|
|
|
|
|
+ //模板引擎
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ public SpringTemplateEngine templateEngine(SpringResourceTemplateResolver templateResolver) {
|
|
|
|
|
+ SpringTemplateEngine templateEngine = new SpringTemplateEngine();
|
|
|
|
|
+ templateEngine.setTemplateResolver(templateResolver);
|
|
|
|
|
+ templateEngine.setEnableSpringELCompiler(true);
|
|
|
|
|
+ return templateEngine;
|
|
|
|
|
+ }
|
|
|
|
|
+ //模板解析器
|
|
|
|
|
+ @Bean
|
|
|
|
|
+ public SpringResourceTemplateResolver templateResolver() {
|
|
|
|
|
+ SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
|
|
|
|
|
+ templateResolver.setPrefix("classpath:/templates/");
|
|
|
|
|
+ templateResolver.setSuffix(".html");
|
|
|
|
|
+ templateResolver.setTemplateMode(TemplateMode.HTML5);
|
|
|
|
|
+ templateResolver.setCharacterEncoding("UTF-8");
|
|
|
|
|
+ templateResolver.setCacheable(false);
|
|
|
|
|
+ return templateResolver;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 配置静态资源处理
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
|
|
|
|
+ registry.addResourceHandler("/static/**")
|
|
|
|
|
+ .addResourceLocations("/static/");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 配置拦截器(可选)
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void addInterceptors(InterceptorRegistry registry) {
|
|
|
|
|
+ //registry.addInterceptor(new LoginInterceptor())
|
|
|
|
|
+ // .addPathPatterns("/**")
|
|
|
|
|
+ // .excludePathPatterns("/login", "/register");
|
|
|
|
|
+ }
|
|
|
|
|
+}
|