blog博客系统开发记录(1)

项目地址:arongblog—github

文章目录

    • 前言
      • 站在巨人的肩膀上创新
      • 从`git clone` 开始旅程
      • 将原项目改为使用`gradle`构建
      • 修改`build.gradle`,使用阿里云中央仓库
      • 补全项目结构
      • 生成项目中所需表
      • 修改`build.gradle`
      • 使用springboot内置的连接池
      • 启动项目


前言

一直想运用所学的知识搞个小博客玩玩,由于个人学习问题一直拖了很久,所以这段时间希望能使用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,项目结构是这样的:
blog博客系统开发记录(1)_第1张图片

将原项目改为使用gradle构建

由于原项目是使用maven作为构建工具的,而gradle更符合springboot的开发特点,即更简约和少配置,这里使用的是idea的Spring Initializer创建springboot项目,项目初始化参数参考原项目中的pom.xml,这里只整合mybatis、thymeleaf及redis,后续的再依情况整合。
blog博客系统开发记录(1)_第2张图片
blog博客系统开发记录(1)_第3张图片

修改build.gradle,使用阿里云中央仓库

repositories {
		//mavenCentral()
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
	}

补全项目结构

复制原项目的其他目录到新项目中,注意不能保留pom.xml,因为我们使用的是gradle构建
blog博客系统开发记录(1)_第4张图片

生成项目中所需表

blog博客系统开发记录(1)_第5张图片

修改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项目,如果没问题的话。启动后即可访问项目主页了
blog博客系统开发记录(1)_第6张图片

Java交流群【QQ】:blog博客系统开发记录(1)_第7张图片

你可能感兴趣的:(blog博客系统开发记录(1))