Spring SpringMVC Mybatis整合纯注解配置

 

@Configuration//声明这个是配置类
@EnableTransactionManagement//事务管理
@MapperScan({"com/rhl/mapper"})//扫描持久层
@ComponentScan("com.rhl.service") //根据定义的扫描路径,把符合扫描规则的类装配到springIOC容器中
@Import({MybatisConfig.class,JdbcConfig.class}) //导入外部配置
public class SpringConfig {
}



JDBC抽取配置

@PropertySource("classpath:jdbc.properties") public class JdbcConfig { @Value("${jdbc.url}") private String url; @Value("${jdbc.password}") private String password; @Value("${jdbc.driver}") private String driver; @Value("${jdbc.username}") private String username; //设置连接池,数据源 @Bean public DataSource dataSource(){ DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); return dataSource; } //设置事务管理器 (声明式事务) @Bean public PlatformTransactionManager transactionManager(DataSource dataSource){ //DataSourceTransactionManager搭配mybatis DataSourceTransactionManager ds = new DataSourceTransactionManager(); ds.setDataSource(dataSource); return ds; } }

Mybaits配置

public class MybatisConfig {
    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){
        SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
        factoryBean.setDataSource(dataSource);
        factoryBean.setTypeAliasesPackage("com.rhl.pojo");
        return factoryBean;
    }
这里可以用MapperScan注解代替
扫描dao层
// @Bean // public MapperScannerConfigurer mapperScannerConfigurer(){ // MapperScannerConfigurer msc = new MapperScannerConfigurer(); // msc.setBasePackage("com.rhl.dao"); // return msc; // } }

servlet配置

集成 AbstractAnnotationConfigDispatcherServletInitializer可以快速初始化



public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { //指定spring配置加载(根配置) return new Class[]{SpringConfig.class}; } protected Class<?>[] getServletConfigClasses() { //指定springmvc配置加载 return new Class[]{SpringMvcConfig.class}; } protected String[] getServletMappings() { //配置springmvc拦截路径为 / (全路径) return new String[]{"/"}; } //中文乱码过滤器 @Override protected Filter[] getServletFilters() { CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); encodingFilter.setEncoding("utf-8"); return new Filter[]{encodingFilter}; } }

  

@Configuration
@ComponentScan("com.rhl.controller")
@EnableWebMvc //开启json格式自动转换
public class SpringMvcConfig {
}

  

posted @ 2022-04-27 20:47  傻帕  阅读(141)  评论(0)    收藏  举报