系统开发
项目地址:arongblog—github
文章目录
前言
一直想运用所学的知识搞个小博客玩玩,由于个人学习问题一直拖了很久,所以这段时间希望能使用SpringBoot写一个博客系统来玩一玩,当做是练练手,以后也可以在这个项目中补充一些新技术。
站在巨人的肩膀上创新
本想自己0开始,从前台敲到后台,但是发现这样会花费太多时间,所以在github上以“springboot博客”为关键词搜索一波,发现这位大神用springboot改写的博客项目
Blog,该项目是原型是十三大佬的My-Blog项目,并且去除了docker,简化了项目结构,然而当我在My-Blog里看README.MD时发现,原来这位大神也是fork了另一位大佬otale的项目tale,好吧,这样的项目虽然不大,但是一个人真的从0开始构建,会花费不少的精力,并且前台也不是java程序员的特长,所以,我们从Blog项目开始进行改造升级。
从
git clone
开始旅程
首先将Blog项目clone下来,我在本地建立了一个仓库arongblog,用以存放修改后的代码,方便日后更新。
现在开始吧,git clone https://github.com/zhisheng17/blog.git
,项目结构是这样的:
将原项目改为使用
gradle
构建
由于原项目是使用maven作为构建工具的,而gradle更符合springboot的开发特点,即更简约和少配置,这里使用的是idea的Spring Initializer创建springboot项目,项目初始化参数参考原项目中的pom.xml,这里只整合myBATis、thymeleaf及redis,后续的再依情况整合。
修改
build.gradle
,使用阿里云中央仓库
repositories {
//mavenCentral()
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
}
补全项目结构
复制原项目的其他目录到新项目中,注意不能保留pom.xml
,因为我们使用的是gradle
构建
生成项目中所需表
修改
build.gradle
根据项目所需,我为build.gradle
增加了如下依赖
configurations {
providedruntime
//remove default logger
all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
dependencies {
// https://mvnrepository.com/artifact/com.alibaba/druid
compile group: 'com.alibaba', name: 'druid', version: '1.1.11'
// https://mvnrepository.com/artifact/org.aspectj/aspectjweaver
compile group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.1'
// https://mvnrepository.com/artifact/com.Google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
// https://mvnrepository.com/artifact/com.vdurmont/emoji-java
compile group: 'com.vdurmont', name: 'emoji-java', version: '4.0.0'
// https://mvnrepository.com/artifact/com.atlassian.commonmark/commonmark
compile group: 'com.atlassian.commonmark', name: 'commonmark', version: '0.11.0'
// https://mvnrepository.com/artifact/org.apache.commons/commons-lang3
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1'
// https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter
compile group: 'com.github.pagehelper', name: 'pagehelper-spring-boot-starter', version: '1.2.7'
compile('org.springframework.boot:spring-boot-starter-data-redis')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
// log4j2
compile ("org.springframework.boot:spring-boot-starter-web") {
exclude module: 'org.springframework.boot:spring-boot-starter-logging'
}
compile ('org.springframework.boot:spring-boot-starter-log4j2')
compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')
runtime('mysql:mysql-connector-java')
//providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
//xml资源文件读取
sourceSets {
main {
resources {
//可以将java目录下的所有非.java资源打包到classes下
srcDirs = ['src/main/java', 'src/main/resources']
}
}
}
使用springboot内置的连接池
原项目使用的是阿里巴巴出品的druid
连接池,这款连接池是目前java开发领域来说效率最高的,但是由于本项目是小型项目,不会有频繁的数据请求,所以使用springboot内置的 tomcat连接池即可
修改CoreAPPlication.java
//修改启动类,注释掉druid连接池的启动配置
/* @ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() {
return new DruidDataSource();
}
@Bean(initMethod = "init",autowire = "true")
public Sqlsessionfactory sqlSessionFactoryBean() throws Exception {
PathMatchingResourcePatternresolver resolver = new PathMatchingResourcePatternResolver();
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
sqlSessionFactoryBean.setMapperLocations(resolver.getresources("classpath*:/mapper/*Mapper.xml"));
return sqlSessionFactoryBean.getObject();
}
@Bean
public PlatformtransactionManager transactionManager() {
return new DataSourceTransactionManager(dataSource());
}
*/
修改application.properties
,注释掉连接池配置
# spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
启动项目
更改完这些配置后,该maven
项目已经被改造成为了gradle
项目,如果没问题的话。启动后即可访问项目主页了
Java交流群【QQ】:
相关阅读
**个人博客系统** 个人博客系统mysql数据库创建语句 个人博客系统oracle数据库创建语句 个人博客系统sqlserver数据库创建语句
对于产品经理来说,拥有属于自己的空间其实是很有必要的。不管是微信订阅号,还是个人博客网站,都可以用来记录自己日常的所思所想,对于
最近对CSDN的博客积分计算规则比较疑惑,并看到CSDN的一篇博客《CSDN博客的积分计算方法和博客排名规律》:“博客排行榜排名分值=个
前言:我的个人博客为:www.antelyle.com 欢迎大家访问无广告的个人主页~此csdn上的内容作为给百度爬取的页面。第一篇博文,我想给大家
http://zhanzhang.baidu.com/linksubmit/url