必威体育Betway必威体育官网
当前位置:首页 > IT技术

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

时间:2019-08-09 13:13:12来源:IT技术作者:seo实验室小编阅读:78次「手机版」
 

系统开发

项目地址: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,项目结构是这样的:

在这里插入图片描述

将原项目改为使用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的一篇博客《CSDN博客的积分计算方法和博客排名规律》:“博客排行榜排名分值=个

个人博客的创建之路(自己申请域名、建网站)

前言:我的个人博客为:www.antelyle.com 欢迎大家访问无广告的个人主页~此csdn上的内容作为给百度爬取的页面。第一篇博文,我想给大家

查看你的博客百度链接

http://zhanzhang.baidu.com/linksubmit/url

分享到:

栏目导航

推荐阅读

热门阅读