SpringBoot框架搭建教程分享
SpringBoot几乎集成了SpringMVC的所有内容,以及tomcat容器,同时去除了繁复的xml配置文件,开发起来十分方便;页面配合thymeleaf模板渲染也是非常简单,如果是前后端分离的项目,那么SpringBoot就专门负责提供restful风格的api接口,通过json格式与前端进行数据交互。
下面pom.xml里面一些依赖
4.0.0 com.test demo 0.0.1-SNAPSHOT common web pom demo aprojectforSpringBoot org.springframework.boot spring-boot-starter-parent 1.5.1.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools true org.springframework.boot spring-boot-starter-thymeleaf org.apache.tomcat tomcat-jdbc 7.0.47 org.springframework spring-tx 4.3.6.RELEASE org.springframework spring-jdbc 4.3.6.RELEASE mysql mysql-connector-java org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 com.alibaba druid 1.0.19 net.sf.json-lib json-lib 2.4 jdk15 commons-logging commons-logging commons-httpclient commons-httpclient 3.0.1 org.apache.logging.log4j log4j-slf4j-impl 2.4.1 org.apache.logging.log4j log4j-api 2.4.1 org.apache.logging.log4j log4j-core 2.4.1 org.slf4j jcl-over-slf4j 1.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 dev true 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的启动类:
packagecom.test.demo.web;
importcom.test.demo.web.filter.AccessFilter;
importcom.test.demo.web.interceptor.AccessInterceptor;
importorg.apache.ibatis.session.SqlSessionFactory;
importorg.mybatis.spring.SqlSessionFactoryBean;
importorg.mybatis.spring.annotation.MapperScan;
importorg.mybatis.spring.boot.autoconfigure.SpringBootVFS;
importorg.springframework.beans.factory.annotation.Value;
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
importorg.springframework.boot.context.properties.ConfigurationProperties;
importorg.springframework.boot.web.servlet.FilterRegistrationBean;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.core.io.support.PathMatchingResourcePatternResolver;
importorg.springframework.jdbc.datasource.DataSourceTransactionManager;
importorg.springframework.transaction.PlatformTransactionManager;
importorg.springframework.web.servlet.config.annotation.InterceptorRegistry;
importorg.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
importjavax.sql.DataSource;
@SpringBootApplication(scanBasePackages="com.test.demo")
@MapperScan("com.test.demo.common.dao")
@Configuration
publicclassWebApplication{@Bean
@ConfigurationProperties(prefix="spring.datasource")
publicDataSourcedataSource(){
returnneworg.apache.tomcat.jdbc.pool.DataSource();
}
//提供SqlSession
@Bean
publicSqlSessionFactorysqlSessionFactoryBean()throwsException{
SqlSessionFactoryBeansqlSessionFactoryBean=newSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
PathMatchingResourcePatternResolverresolver=newPathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setVfs(SpringBootVFS.class);
sqlSessionFactoryBean.setTypeAliasesPackage("com.test.demo.common.model");
sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mapper/*.xml"));
returnsqlSessionFactoryBean.getObject();
}
//事务配置
@Bean
publicPlatformTransactionManagertransactionManager(){
returnnewDataSourceTransactionManager(dataSource());
}
//主启动函数
publicstaticvoidmain(String[]args){
SpringApplication.run(WebApplication.class,args);
}
//过滤器配置
@Bean
publicFilterRegistrationBeansomeFilterRegistration(){
FilterRegistrationBeanregistration=newFilterRegistrationBean();
AccessFilteraccessFilter=newAccessFilter();
registration.setFilter(accessFilter);
registration.addUrlPatterns("/admin/*");
registration.setName("accessFilter");
returnregistration;
}
//拦截器配置
@Configuration
publicclassaddInterceptorextendsWebMvcConfigurerAdapter{
publicvoidaddInterceptors(InterceptorRegistryregistry){
registry.addInterceptor(newAccessInterceptor()).addPathPatterns("/admin/**");
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。