是否有老掉牙的springmvc项目,想转成springboot项目,看这个文章就对了。
说明
如果你的项目连maven项目都不是,请自行转为maven项目,在按照本教程进行。
本教程适用于spring+springmvc+mybatis+shiro的maven项目。
1.修改pom文件依赖
删除之前的spring依赖,添加springboot依赖
org.springframework.boot spring-boot-starter-parent1.5.9.RELEASE org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-starter-tomcatorg.springframework.boot spring-boot-starter-tomcatorg.mybatis.spring.boot mybatis-spring-boot-starter1.3.0 org.springframework.boot spring-boot-devtoolstrue org.springframework.boot spring-boot-configuration-processortrue org.apache.tomcat.embed tomcat-embed-jasper
添加springboot构建插件
org.apache.maven.plugins maven-compiler-plugin1.7 1.7 org.springframework.boot spring-boot-maven-plugin1.5.9.RELEASE repackage
2.添加application启动文件
注意,如果Application在controller,service,dao的上一层包里,无需配置 @ComponentScan ,
否则,需要指明要扫描的包。
@SpringBootApplication
//@ComponentScan({"com.cms.controller","com.cms.service","com.cms.dao"})
public class Applicationextends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
return application.sources(Application.class);
}
public static void main(String[] args)throws Exception {
SpringApplication.run(Application.class, args);
}
}
3.添加springboot配置文件
在resources下面添加application.properties文件
添加基本配置 #默认前缀 server.contextPath=/ # 指定环境 spring.profiles.active=local # jsp配置 spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp #log配置文件 logging.config=classpath:logback-cms.xml #log路径 logging.path=/Users/mac/work-tommy/cms-springboot/logs/ #数据源 spring.datasource.name=adminDataSource spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.url = jdbc:mysql://localhost:3306/mycms?useUnicode=true&autoReconnect=true&characterEncoding=utf-8 spring.datasource.username = root spring.datasource.password = 123456
4.使用@Configuration注入配置
注入mybatis配置,分页插件请自主选择
@Configuration
@MapperScan(basePackages = "com.kuwo.dao",sqlSessionTemplateRef = "adminSqlSessionTemplate")
public class AdminDataSourceConfig{
@Bean(name = "adminDataSource")
@ConfigurationProperties(prefix = "spring.datasource")
@Primary
public DataSource adminDataSource(){
return DataSourceBuilder.create().build();
}
@Bean(name = "adminSqlSessionFactory")
@Primary
public SqlSessionFactory adminSqlSessionFactory(@Qualifier("adminDataSource")DataSource dataSource)throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
//分页插件
// PageHelper pageHelper = new PageHelper();
PagePlugin pagePlugin = new PagePlugin();
// Properties props = new Properties();
// props.setProperty("reasonable", "true");
// props.setProperty("supportMethodsArguments", "true");
// props.setProperty("returnPageInfo", "check");
// props.setProperty("params", "count=countSql");
// pageHelper.setProperties(props);
//添加插件
bean.setPlugins(new Interceptor[]{pagePlugin});
// 添加mybatis配置文件
bean.setConfigLocation(new DefaultResourceLoader().getResource("classpath:mybatis/mybatis-config.xml"));
// 添加mybatis映射文件
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/system
@Bean
public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager){
System.out.println("ShiroConfiguration.shirFilter()");
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
// 必须设置 SecurityManager
shiroFilterFactoryBean.setSecurityManager(securityManager);
// 如果不设置默认会自动寻找Web工程根目录下的"/login.jsp"页面
shiroFilterFactoryBean.setLoginUrl("/login_toLogin");
// 登录成功后要跳转的链接
shiroFilterFactoryBean.setSuccessUrl("/usersPage");
//未授权界面;
shiroFilterFactoryBean.setUnauthorizedUrl("/403");
//拦截器.
Map filterChainDefinitionMap = new linkedHashMap<>();
//配置退出 过滤器,其中的具体的退出代码Shiro已经替我们实现了
filterChainDefinitionMap.put("/logout", "logout");
filterChainDefinitionMap.put("/login_toLogin", "anon");
filterChainDefinitionMap.put("/login_login", "anon");
filterChainDefinitionMap.put("/static/login
@Bean
public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager){
AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();
authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);
return authorizationAttributeSourceAdvisor;
}
public RedisManager redisManager(){
RedisManager redisManager = new RedisManager();
redisManager.setHost(host);
redisManager.setPort(port);
redisManager.setExpire(1800);
redisManager.setTimeout(timeout);
// redisManager.setPassword(password);
return redisManager;
}
public RedisCacheManager cacheManager(){
RedisCacheManager redisCacheManager = new RedisCacheManager();
redisCacheManager.setRedisManager(redisManager());
return redisCacheManager;
}
@Bean
public RedisSessionDAO redisSessionDAO(){
RedisSessionDAO redisSessionDAO = new RedisSessionDAO();
redisSessionDAO.setRedisManager(redisManager());
return redisSessionDAO;
}
@Bean
public DefaultWebSessionManager sessionManager(){
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
// sessionManager.setSessionDAO(redisSessionDAO());
return sessionManager;
}
}
总结
搞了一天时间把项目转成springboot,查阅各种资料,希望这篇文章能够为你带来帮助。也希望大家多多支持考高分网。



