用注解替代applicationContext.xml
同前期设置,添加事务注解驱动 @Configuration
//扫描组件,排除SpringMVC对应的bean,等同于<context:component-scan />
@ComponentScan(value = "com.itheima",excludeFilters = {
@ComponentScan.Filter(type= FilterType.ANNOTATION,classes = {Controller.class})})
@PropertySource("classpath:jdbc.properties")
@Import({JdbcConfig.class,MyBatisConfig.class})
//等同于<tx:annotation-driven transaction-manager="txManager"/>,导入的默认名称为transactionManager
@EnableTransactionManagement
public class SpringConfig {
//等同于<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
@Bean("transactionManager")
public DataSourceTransactionManager getDataSourceTxManager(@Autowired DataSource dataSource){
DataSourceTransactionManager dtm = new DataSourceTransactionManager();
//等同于<property name="dataSource" ref="dataSource"/>
dtm.setDataSource(dataSource);
return dtm;
}
}
用注解替代spring-mvc.xml
-
同前期设置,添加@EnableWebMvc注解
-
@Configuration @ComponentScan("com.itheima.controller") @EnableWebMvc public class SpringMvcConfig implements WebMvcConfigurer { }
-
EnableWebMvc
-
支持ConversionService的配置,可以方便配置自定义类型转换器
-
支持@NumberFormat注解格式化数字类型
-
支持@DateTimeFormat注解格式化日期数据,日期包括Date,Calendar,JodaTime(JodaTime要导包)
-
支持@Valid的参数校验(需要导入JSR-303规范)
-
配合第三方jar包和SpringMVC提供的注解读写XML和JSON格式数据