一般来说 有两种方案(当然最重要的是先配置好环境了)
1.利用注解直接加载配置文件
在启动类上直接添加@ImportResource(locations = {"classpath:applicationContext.xml","classpath:spring-mvc.xml"})
springboot会在启动时自动加载这两个xml文件,注册bean
需要注意的是:applicationContext.xml里的<tx:annotation-driven/>
需要注释掉,因为它的作用是支持事务注解的,而springboot默认就是支持事务注解的,不去掉的话会和springboot默认配置产生冲突
同理:spring-mvc.xml里的 <mvc:default-servlet-handler/>
和<mvc:annotation-driven/>
也需要注释掉
2.将配置文件(applicationContext.xml、spring-mvc.xml、database.properties等)重写为application.yml
具体重写规则如下:
1.数据库配置
将applicationContext.xml中的
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
等转换为application.yml中的
spring:
datasource:
url: jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: admin
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
2.mybatis配置
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 声明别名-->
<property name="typeAliasesPackage" value="com.song.pojo"/>
<property name="dataSource" ref="dataSource"/>
<!-- 扫描mapper.xml配置文件-->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
转换为application.yml中的
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.song.pojo
3.mvc视图解析
将spring-mvc.xml中的
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
转换为application.yml中的
spring:
mvc:
view:
prefix: /jsp/
suffix: .jsp
4.拦截器的配置
将spring-mvc.xml中的
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<bean class="com.song.interceptor.userInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
转换为配置类代码中的
@Bean
public WebMvcConfigurer WebMvcConfigurer() {
return new WebMvcConfigurer() {
public void addInterceptors(InterceptorRegistry registry) {
//排除无需拦截路径
List<String> l=new ArrayList<>();
l.add("/userLogin.do");
l.add("/sendMessage.do");
l.add("/register.do");
//配置需要拦截路径/*.do
registry.addInterceptor(userInterceptor).addPathPatterns("/*.do").excludePathPatterns(l);
}
};
}
具体配置可参考:
Spring Boot项目 过滤器,拦截器,及其注册 --菜鸟小回
Comments | NOTHING