Skip to content

Commit 4ecfc48

Browse files
committed
解决 @AutoConfigureAfter 错误用法导致的问题。
1 parent bca7ea5 commit 4ecfc48

File tree

6 files changed

+21
-26
lines changed

6 files changed

+21
-26
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@
1010

1111
项目使用的mysql数据库,根据需要可以切换为其他数据库
1212

13+
##重要提示
14+
15+
本项目一开始对 `@AutoConfigureAfter` 的用法有问题,详细内容请看:
16+
17+
>[Spring Boot - 配置排序依赖技巧](http://blog.csdn.net/isea533/article/details/53975720)
18+
19+
本项目已经按照上文的技巧对包和用法做了修改,基本上可以保证 100% 没错。
20+
1321
##说明
1422

1523
虽然MyBatis官方提供了`mybatis-spring-boot-starter`,但是该配置的可以控制的地方太少,因此短时间不会直接使用该`starter`

src/main/java/tk/mybatis/springboot/conf/MyBatisConfig.java renamed to src/main/java/tk/mybatis/autoconfigure/MyBatisConfig.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,17 @@
2222
* THE SOFTWARE.
2323
*/
2424

25-
package tk.mybatis.springboot.conf;
25+
package tk.mybatis.autoconfigure;
2626

2727
import com.github.pagehelper.PageHelper;
2828
import org.apache.ibatis.plugin.Interceptor;
2929
import org.apache.ibatis.session.SqlSessionFactory;
3030
import org.mybatis.spring.SqlSessionFactoryBean;
3131
import org.mybatis.spring.SqlSessionTemplate;
3232
import org.springframework.beans.factory.annotation.Autowired;
33+
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
34+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
35+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
3336
import org.springframework.context.annotation.Bean;
3437
import org.springframework.context.annotation.Configuration;
3538
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
@@ -50,6 +53,8 @@
5053
*/
5154
@Configuration
5255
@EnableTransactionManagement
56+
@ConditionalOnBean(DataSource.class)
57+
@AutoConfigureAfter(DataSourceAutoConfiguration.class)
5358
public class MyBatisConfig implements TransactionManagementConfigurer {
5459

5560
@Autowired

src/main/java/tk/mybatis/springboot/conf/MyBatisMapperScannerConfig.java renamed to src/main/java/tk/mybatis/autoconfigure/MyBatisMapperScannerConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* THE SOFTWARE.
2323
*/
2424

25-
package tk.mybatis.springboot.conf;
25+
package tk.mybatis.autoconfigure;
2626

2727
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2828
import org.springframework.context.annotation.Bean;
@@ -38,7 +38,6 @@
3838
* @since 2015-12-19 14:46
3939
*/
4040
@Configuration
41-
//TODO 注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解
4241
@AutoConfigureAfter(MyBatisConfig.class)
4342
public class MyBatisMapperScannerConfig {
4443

src/main/java/tk/mybatis/springboot/conf/WebMvcConfig.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,12 @@
2424

2525
package tk.mybatis.springboot.conf;
2626

27-
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
28-
import org.springframework.context.annotation.Bean;
2927
import org.springframework.context.annotation.Configuration;
3028
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
31-
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
3229
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
33-
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfig;
34-
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
35-
import org.springframework.web.servlet.view.freemarker.FreeMarkerView;
36-
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
37-
import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
3830

3931
/**
40-
* @author liuzh_3nofxnp
32+
* @author liuzh
4133
* @since 2015-12-19 16:16
4234
*/
4335
@Configuration
@@ -47,17 +39,4 @@ public class WebMvcConfig extends WebMvcConfigurerAdapter {
4739
public void addResourceHandlers(ResourceHandlerRegistry registry) {
4840
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
4941
}
50-
51-
// @Override
52-
// public void configureViewResolvers(ViewResolverRegistry registry) {
53-
// registry.enableContentNegotiation(new MappingJackson2JsonView());
54-
// registry.freeMarker().cache(false);
55-
// }
56-
//
57-
// @Bean
58-
// public FreeMarkerConfigurer freeMarkerConfigurer() {
59-
// FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
60-
// configurer.setTemplateLoaderPath("/WEB-INF/");
61-
// return configurer;
62-
// }
6342
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Auto Configure
2+
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
3+
tk.mybatis.autoconfigure.MyBatisMapperScannerConfig,\
4+
tk.mybatis.autoconfigure.MyBatisConfig

src/main/resources/application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
server:
2-
port: 8080
2+
port: 9090
33
context-path: #/liuzh/
44

55
logging:

0 commit comments

Comments
 (0)