前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot环境熟悉

SpringBoot环境熟悉

作者头像
mythsman
发布2022-11-14 15:47:24
1880
发布2022-11-14 15:47:24
举报
文章被收录于专栏:mythsman的个人博客

前言

就个人而言,我曾经比较畏惧JAVA,我们都知道JAVA这个东西是相当成熟了,各种框架特别复杂,名词也特别的多。我还记得我第一次想学struts的时候折腾了半天硬是没有找到头绪,面对各种眼花缭乱的包、眼花缭乱的配置文件、眼花缭乱的框架版本、眼花缭乱的报错信息,还有眼花缭乱的各种名词,硬是停留在了servlet的层面上,完全失去了在短时间内学下去的动力。因此很久都没有碰过JAVA。不过一个机缘巧合,我突然发现其实这些东西都是很有套路的,每一个东西其实都是为了解决某一个小问题,只是刚入门的时候面对庞大的体系一下子懵了。而且,在JAVA发展到当今的程度,之前冗杂的事情也被简化了很多,框架的封装度更加的高,我们学起来也轻松很多了。

SpringBoot

Springboot就是当前火热起来的用于JAVA Web开发的微框架,配置十分方便,结合Intellij IDEA用起来十分的顺手,非常适合快速上手。同时他的文档也清楚,官方文档里写的也很细致。

快速上手

曾经最烦人的配置问题在这里都不是问题,当我们需要创建项目的时候,可以去start.spring.io上选择相应的配置,下载一个空的项目包,然后用IDE打开即可。

通常情况下,除了指定包信息以及各种版本信息之外,我们在开发Springboot的时候一般会加上下面的依赖:

  • Thymeleaf
  • AOP
  • MySQL
  • MyBatis
  • Redis
  • DevTools

Thymeleaf是SpringBoot1.5版本后推荐的模板引擎,取代了曾经的velocity以及更加古老的jsp,左右后台渲染前台页面的控制器; AOP则是对面向切面编程思想的支持,他给我们提供了面向切面编程的接口; MySQL则是非常主流的数据库驱动; Mybatis则为我们在数据库与函数之间建立了一个DAO(Data Access Object)层,方便我们不用写jdbc的代码就能访问数据; Redis则是非常流行的NOSQL数据库,适合对一些数据做缓存处理以及快速的读取写入; DevTools则提供了很多方便我们编程的特性,让IDE反应更快。。。

事实上这个网站做的事情也很简单,就是构建了下面的文件结构:

代码语言:javascript
复制
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── demo
    │   │               └── DemoApplication.java
    │   └── resources
    │       ├── application.properties
    │       ├── static
    │       └── templates
    └── test
        └── java
            └── com
                └── example
                    └── demo
                        └── DemoApplicationTests.java

说白了其实就是配置了maven的包管理系统,以及推荐的文件结构,仅此而已。

什么是maven

maven其实就是一个包管理工具,就像是python的pip,ubuntu的apt,js的npm,在www.maven.org里集成了绝大多数大家常用的包信息,类似于webservice的注册中心。maven将本项目所有的包依赖全都写进了pom.xml文件中,免得我们一个一个下载再一个一个放进build path里,免去了很多的麻烦。 上面的配置形成的pom.xml如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
        </build>
</project>

如果我们想重新加入一个包,只要在maven的管理中心找到这个包的groupId以及artifactId然后写在这里的dependency里就行了。最后利用IDE提供的自动导入maven包即可。

配置文件

相比于曾经写项目每个组件都有一个xml配置文件,SpringBoot都帮我们封装成了一个统一的配置文件application.properties,比如在某一个项目中我的配置是这样的:

代码语言:javascript
复制
#tomcat start
server.compression.enabled=true

#tomcat end

#redis start
spring.redis.database=0
spring.redis.host=localhost
spring.redis.port=6379
#redis end

#multipart start
spring.http.multipart.enabled=true
spring.http.multipart.max-file-size=10MB
spring.http.multipart.max-request-size=10MB
#multipart end

#thymeleaf start
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=true
#thymeleaf end

#mysql start
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
#mysql start

#mybatis start
mybatis.configuration.cache-enabled=true
mybatis.configuration.lazy-loading-enabled=true
mybatis.configuration.multipleResultSetsEnabled=true
#mybatis end

这其实就是对传统的配置方法做了一层封装,使得项目更加简洁清楚,所有的配置项也都能由IDE自动补全,不要太爽。

最后

由于这个框架比较新,因此很多组建都需要java8的支持,并且如果以后发布到服务器上,也需要Tomcat8的支持,这一点需要尤其的注意。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • SpringBoot
  • 快速上手
  • 什么是maven
  • 配置文件
  • 最后
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档