SpringMVC конфиг по Java - PullRequest
       1

SpringMVC конфиг по Java

0 голосов
/ 06 февраля 2019

Я настраиваю проект springMVC с помощью конфигурации java, когда я захожу: http://127.0.0.1:8081/testInsert?empName=aa&role=bb&purName=cc&money=10

, но транзакцияManager не работает!

Это весь мой проект в git:

https://github.com/fuduhui/noxmlmvc

о моей конфигурации:

сначала я пишу @ EnableTransactionManagement

затем я добавляю transationManager

и я также реализую TransactionManagementConfigurer, это мой метод переопределения

Я использую его @transactional в сервисе, подобном этому

это весь мой код конфигурации, игнорируйте импорт:

package com.config;


@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.*"})
@EnableTransactionManagement
public class WebConfig implements TransactionManagementConfigurer {

@Bean
public InternalResourceViewResolver jspResolver() {
  InternalResourceViewResolver viewResolver = new 
  InternalResourceViewResolver();
  viewResolver.setPrefix("/");
  viewResolver.setSuffix(".jsp");
  viewResolver.setExposeContextBeansAsAttributes(true);
  return viewResolver;
}

@Bean
public MappingJackson2JsonView jsonView(){
    MappingJackson2JsonView jsonView=new MappingJackson2JsonView();
    jsonView.setContentType("application/json;charset=UTF-8");
    return jsonView;
}

@Bean
public PooledDataSource dataSource(){
    PooledDataSource dataSource=new PooledDataSource();
    dataSource.setDriver("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong");
    dataSource.setUsername("root");
    dataSource.setPassword("fuduhui123");
    dataSource.setPoolMaximumActiveConnections(5);
    dataSource.setPoolMaximumIdleConnections(3);
    return dataSource;

}




@Bean(name = "sqlSessionFactory")
public SqlSessionFactoryBean sessionFactoryBean(){
    try{
        SqlSessionFactoryBean sessionFactoryBean=new SqlSessionFactoryBean();
        sessionFactoryBean.setDataSource(dataSource());
        Resource[] mapperLocations=new PathMatchingResourcePatternResolver().getResources("classpath:mapper/testdb/*.xml");
        sessionFactoryBean.setMapperLocations(mapperLocations);
        return sessionFactoryBean;
    }catch (Exception e){
        e.printStackTrace();
    }

    return null;
}

@Bean
public DataSourceTransactionManager transactionManager(){
    DataSourceTransactionManager transactionManager=new DataSourceTransactionManager();
    transactionManager.setDataSource(dataSource());
    return transactionManager;

}

@Bean
public MapperScannerConfigurer scannerConfigurer(){
    MapperScannerConfigurer scannerConfigurer=new MapperScannerConfigurer();
    scannerConfigurer.setBasePackage("com.dao");
    scannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
    return scannerConfigurer;
}

@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
    return transactionManager();
}

}

и я сканирую весь код, а не только контроллер

но это не сработало, почему?большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...