package org.sang.config; import org.apache.commons.dbcp.BasicDataSource; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.jdbc.datasource.DataSourceTransactionManager; 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.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; import javax.annotation.Resource; import java.io.IOException; @Configuration @EnableWebMvc @ComponentScan("org.sang") public class MyMVCConfig extends WebMvcConfigurerAdapter { @Resource DBConfig dbConfig; @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/"); viewResolver.setSuffix(".jsp"); viewResolver.setViewClass(JstlView.class); return viewResolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //两个*表示以/assets开始的任意层级的路径都可以访问得到图片,如<img src="../assets/img/1.png"> //一个*表示只可以访问assets目录下的图片文件 registry.addResourceHandler("/static/**").addResourceLocations("/WEB-INF/static/"); } @Bean public BasicDataSource dataSource() { // System.out.println("driver:"+dbConfig.driver); BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=UTF-8"); dataSource.setUsername("root"); dataSource.setPassword("root"); // dataSource.setInitialSize(initialSize); // dataSource.setMaxActive(maxActive); // dataSource.setMaxIdle(maxIdle); // dataSource.setMinIdle(minIdle); // dataSource.setMaxWait(maxWait); return dataSource; } @Bean public SqlSessionFactoryBean sqlSessionFactoryBean() { PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setDataSource(dataSource()); try { sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:mapping/*.xml")); } catch (IOException e) { e.printStackTrace(); } return sqlSessionFactoryBean; } @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setBasePackage("org.sang.dao"); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean"); return mapperScannerConfigurer; } @Bean public DataSourceTransactionManager transactionManager() { DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(); dataSourceTransactionManager.setDataSource(dataSource()); return dataSourceTransactionManager; } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptors()); } @Bean public LoginInterceptors loginInterceptors() { return new LoginInterceptors(); } }
最近下载更多
abcdmly12 LV1
1月12日
monolog LV4
2023年6月18日
微信网友_6260196253601792 LV7
2023年6月9日
6389181 LV7
2023年6月1日
刘海柱 LV1
2022年6月12日
wubinbin LV11
2021年12月10日
lsc860911 LV11
2021年11月24日
xbjzc123 LV5
2021年11月23日
eclipse_javen LV6
2021年8月21日
秦sir3067683450 LV10
2021年7月29日
最近浏览更多
2131234536546 LV7
3月31日
abcdmly12 LV1
1月12日
XiaoSong888 LV2
1月10日
fff2003 LV6
2023年12月23日
SQ2930501923 LV14
2023年11月14日
abandan LV4
2023年11月6日
hj1172788262 LV5
2023年10月25日
微信网友_6692060019216384
2023年10月14日
暂无贡献等级
hkxyyz LV6
2023年7月16日
18590560528 LV1
2023年6月24日