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/**"); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。