SpringBoot几乎集成了SpringMVC的所有内容,以及tomcat容器,同时去除了繁复的xml配置文件,开发起来十分方便;页面配合thymeleaf模板渲染也是非常简单,如果是前后端分离的项目,那么SpringBoot就专门负责提供restful风格的api接口,通过json格式与前端进行数据交互。
下面pom.xml里面一些依赖
4.0.0 com.test demo0.0.1-SNAPSHOT common web pom demo a project for Spring Boot org.springframework.boot spring-boot-starter-parent1.5.1.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starterorg.springframework.boot spring-boot-starter-loggingorg.springframework.boot spring-boot-starter-testtest org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-devtoolstrue org.springframework.boot spring-boot-starter-thymeleaforg.apache.tomcat tomcat-jdbc7.0.47 org.springframework spring-tx4.3.6.RELEASE org.springframework spring-jdbc4.3.6.RELEASE mysql mysql-connector-javaorg.mybatis.spring.boot mybatis-spring-boot-starter1.1.1 com.alibaba druid1.0.19 net.sf.json-lib json-lib2.4 jdk15 commons-logging commons-loggingcommons-httpclient commons-httpclient3.0.1 org.apache.logging.log4j log4j-slf4j-impl2.4.1 org.apache.logging.log4j log4j-api2.4.1 org.apache.logging.log4j log4j-core2.4.1 org.slf4j jcl-over-slf4j1.7.12 demo src/main/resources application-dev.properties application-prod.properties application.properties true true src/main/resources application-${environment}.properties application.properties dev true dev prod prod
下面是SpringBoot的启动配置文件application.properties:
spring.thymeleaf.cache=false server.port=8021 server.context-path=/demo spring.datasource.url=jdbc:mysql://localhost:3306/demo?characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=XXX spring.datasource.driver-class-name=com.mysql.jdbc.Driver
下面是SpringBoot的启动类:
package com.test.demo.web;
import com.test.demo.web.filter.AccessFilter;
import com.test.demo.web.interceptor.AccessInterceptor;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.sql.DataSource;
@SpringBootApplication(scanbasePackages = "com.test.demo")
@MapperScan("com.test.demo.common.dao")
@Configuration
public class WebApplication { @Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return new org.apache.tomcat.jdbc.pool.DataSource();
}
// 提供SqlSession
@Bean
public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setVfs(SpringBootVFS.class);
sqlSessionFactoryBean.setTypeAliasesPackage("com.test.demo.common.model");
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/*.xml"));
return sqlSessionFactoryBean.getObject();
}
// 事务配置
@Bean
public PlatformTransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
// 主启动函数
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
// 过滤器配置
@Bean
public FilterRegistrationBean someFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
AccessFilter accessFilter = new AccessFilter();
registration.setFilter(accessFilter);
registration.addUrlPatterns("/admin/*");
registration.setName("accessFilter");
return registration;
}
// 拦截器配置
@Configuration
public class addInterceptor extends WebMvcConfigurerAdapter {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AccessInterceptor()).addPathPatterns("/admin/**");
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



