eclipse 搭建springboot聚合工程

本人有一篇关于搭建单结构工程的项目,出门左拐,可以看到。关于单结构工程和聚合工程,鄙人理解甚微,直观的感受就是单结构工程简洁单一,所有包都集中在一个工程文件中。而聚合工程,略显复杂,每一个模块都是一个独立的工程文件,比如数据库模块(对应dao曾),服务模块(对应service层)等等。本人愚见,欢迎指正。

当然我们今天的目的不是讨论两者的好处,而是手动搭建一个springboot的聚合工程出来,开始。

环境

eclipse、maven、jdk、tomcat什么的,不想多说了,自行百度下载安装。

新建 maven工程

空白处右键点击新建一个maven project

点击next

新建成功后可以看见文件下的pom.xml

加入springboot依赖

<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.imooc</groupId>
	<artifactId>imooc-videos-dev</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.12.RELEASE</version>
		<relativePath />
	</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>
</project>

创建子工程

创建common模块

文件右键->new->project->maven module,点击next

next然后finish,然后修改pom文件,此处除了引入springboot的必要依赖,还添加了日常开发中会碰到的其他组件依赖,供大家参考。如若只想搭建简单的springboot工程,只要添入必要的包即可,无需全盘复制

<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>
  <parent>
    <groupId>com.imooc</groupId>
    <artifactId>imooc-videos-dev</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>imooc-videos-dev-common</artifactId>
  
  <properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<exclusions>
				<!-- 排除springboot默认的logback日志框架 -->
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- 引入log4j日志依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-log4j</artifactId>
			<version>1.3.8.RELEASE</version>
		</dependency>

		<!-- 引入spring aop依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-aop</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
			</exclusions>
		</dependency>

		<!-- 资源配置 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-configuration-processor</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

		<!-- 阿里开源数据源 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.0</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid-spring-boot-starter</artifactId>
			<version>1.1.0</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.41</version>
		</dependency>

		<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.1</version>
		</dependency>
		<!--mapper -->
		<dependency>
			<groupId>tk.mybatis</groupId>
			<artifactId>mapper-spring-boot-starter</artifactId>
			<version>1.2.4</version>
		</dependency>
		<!--pagehelper -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.3</version>
		</dependency>

		<!-- apache 工具类 -->
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.11</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-io</artifactId>
			<version>1.3.2</version>
		</dependency>

		<!-- swagger2 配置 -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.4.0</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.4.0</version>
		</dependency>

		<!-- 引入 redis 依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.data</groupId>
			<artifactId>spring-data-redis</artifactId>
			<version>1.8.7.RELEASE</version>
		</dependency>

		<!-- 引入zookeeper -->
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-framework</artifactId>
			<version>4.0.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.11</version>
		</dependency>
		<dependency>
			<groupId>org.apache.curator</groupId>
			<artifactId>curator-recipes</artifactId>
			<version>4.0.0</version>
		</dependency>

	</dependencies>
</project>

新建pojo模块

方法一样,new->project-> maven modue

由于这是一个自下而上的聚合工程,新建的pojo模块会依赖上层common模块,我以我们要在pojo中添加common的依赖。

双击pojo模块的pom,然后找到编辑框下方的Dependencies,双击,点击Add找到刚刚创建的common模块->OK

再点击pom文件,可以看到common文件依赖已近添加

添加其余模块

添加mapper、service、api模块

操作同上,但此时仅需将pojo依赖加入mapper,mapper依赖加入service,以此类推。

新建启动类

在api模块下新建包和启动类

package com.imooc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;


@SpringBootApplication
@ComponentScan(basePackages= {"com.imooc"})
public class Application {
	
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
	
}

配置

log4j.properties

log4j.rootLogger=INFO,console,dailyFile
# TODO \u53d1\u5e03\u5230\u963f\u91cc\u4e91\u8bb0\u5f97\u6dfb\u52a0\uff0c\u53e6\u5916\u63a7\u5236\u53f0\u4e0d\u8f93\u51fa(\u53ea\u8f93\u51fawarn\u6216\u8005error\u4fe1\u606f)
#INFO,console,dailyFile

#log4j.logger.org.mybatis = DEBUG
log4j.logger.com.imooc.mapper=INFO

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n

# \u5b9a\u671f\u6eda\u52a8\u65e5\u5fd7\u6587\u4ef6\uff0c\u6bcf\u5929\u90fd\u4f1a\u751f\u6210\u65e5\u5fd7
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.encoding=UTF-8
log4j.appender.dailyFile.Threshold=INFO
# TODO \u672c\u5730\u65e5\u5fd7\u5730\u5740\uff0c\u6b63\u5f0f\u73af\u5883\u8bf7\u52a1\u5fc5\u5207\u6362\u4e3a\u963f\u91cc\u4e91\u5730\u5740
log4j.appender.dailyFile.File=/imooc/logs/itzixi-web/log.log4j
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n

application.properties

############################################################
#
# REDIS \u914d\u7f6e
#
############################################################
# Redis\u6570\u636e\u5e93\u7d22\u5f15\uff08\u9ed8\u8ba4\u4e3a0\uff09
spring.redis.database=1
# Redis\u670d\u52a1\u5668\u5730\u5740
spring.redis.host=192.168.1.209
# Redis\u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3
spring.redis.port=6379
# Redis\u670d\u52a1\u5668\u8fde\u63a5\u5bc6\u7801\uff08\u9ed8\u8ba4\u4e3a\u7a7a\uff09
spring.redis.password=imooc
# \u8fde\u63a5\u6c60\u6700\u5927\u8fde\u63a5\u6570\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09
spring.redis.pool.max-active=1000
# \u8fde\u63a5\u6c60\u6700\u5927\u963b\u585e\u7b49\u5f85\u65f6\u95f4\uff08\u4f7f\u7528\u8d1f\u503c\u8868\u793a\u6ca1\u6709\u9650\u5236\uff09
spring.redis.pool.max-wait=-1
# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5927\u7a7a\u95f2\u8fde\u63a5
spring.redis.pool.max-idle=10
# \u8fde\u63a5\u6c60\u4e2d\u7684\u6700\u5c0f\u7a7a\u95f2\u8fde\u63a5
spring.redis.pool.min-idle=2
# \u8fde\u63a5\u8d85\u65f6\u65f6\u95f4\uff08\u6beb\u79d2\uff09
spring.redis.timeout=0


############################################################
#
# \u914d\u7f6e\u6570\u636e\u6e90\u76f8\u5173	\u4f7f\u7528\u963f\u91cc\u5df4\u5df4\u7684 druid \u6570\u636e\u6e90
#
############################################################
spring.datasource.url=jdbc:mysql://localhost:3306/imooc-video-dev
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true


############################################################
#
# mybatis \u914d\u7f6e
#
############################################################
# mybatis \u914d\u7f6e
mybatis.type-aliases-package=com.imooc.pojo
mybatis.mapper-locations=classpath:mapper/*.xml
# \u901a\u7528 Mapper \u914d\u7f6e
mapper.mappers=com.imooc.utils.MyMapper
mapper.not-empty=false
mapper.identity=MYSQL
# \u5206\u9875\u63d2\u4ef6\u914d\u7f6e
pagehelper.helperDialect=mysql
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql



# \u6587\u4ef6\u4e0a\u4f20\u914d\u7f6e
spring.http.multipart.maxFileSize=100Mb
spring.http.multipart.maxRequestSize=1000Mb

############################################################
#
# Server \u670d\u52a1\u7aef\u76f8\u5173\u914d\u7f6e
#
############################################################
# \u914d\u7f6eapi\u7aef\u53e3\u53f7
server.port=8081

############################################################
# Server - tomcat \u76f8\u5173\u5e38\u7528\u914d\u7f6e
############################################################
# tomcat\u7684URI\u7f16\u7801
server.tomcat.uri-encoding=UTF-8








配置根据自己的数据库及实际情况自定义,切勿全盘复制,否则启动报错。

右键主工程->run as->maven install,此时在console栏中出现BUILD SUCCESS,说明安装成功。

右键Application.java->run as->springboot app

若没有该选项,help->marketplace->安装sts插件

打开网页,可以看到运行成功。

本文知识介绍了搭建springboot聚合工程,当然这只是其中一种搭建方法。并没有详细叙述聚合工程的优劣及特点,如有兴趣,自行百度。

本章的代码已上传至github,希望能给大家带来帮助https://github.com/qulei0316/Springboot_Converged_project

### 回答1: 1. 首先,需要安装Eclipse IDE,可以从官网下载并安装。 2. 安装完Eclipse后,需要安装Spring Tools插件。在Eclipse中,点击“Help”菜单,选择“Eclipse Marketplace”,在搜索框中输入“Spring Tools”,选择安装即可。 3. 创建一个新的Spring Boot项目。在Eclipse中,点击“File”菜单,选择“New” -> “Spring Starter Project”,填写项目名称和相关信息,点击“Next”按钮。 4. 在“Dependencies”页面中,选择需要的依赖项,例如“Web”、“JPA”等,点击“Finish”按钮。 5. Eclipse会自动创建一个Spring Boot项目,并生成相关的文件和代码。可以在“src/main/java”目录下找到“Application.java”文件,这是Spring Boot项目的入口文件。 6. 可以在“src/main/resources”目录下找到“application.properties”文件,可以在这里配置项目的相关属性,例如数据库连接信息等。 7. 在Eclipse中,可以通过“Run As” -> “Spring Boot App”来启动项目,也可以通过“Debug As” -> “Spring Boot App”来进行调试。 8. 在开发过程中,可以使用Eclipse提供的各种工具和插件来提高开发效率,例如自动补全、代码提示、调试等。 以上就是使用Eclipse搭建Spring Boot项目的基本步骤。 ### 回答2: Spring Boot是一种快速开发Spring应用程序的框架。它通过使用各种开箱即用的组件和自动化配置减少了代码的编写量,从而减少了项目的启动和运行时间。同时,Spring Boot还提供了丰富的功能,例如Web应用程序、数据访问等。在开发Spring Boot应用程序时,Eclipse是一种被广泛使用的集成开发环境。下面是使用Eclipse搭建Spring Boot项目的步骤: 1. 确保已经安装了JDK和Eclipse。如果尚未安装,则需要在官方网站上下载并安装。此外,还需要安装Spring插件。 2. 在Eclipse创建一个新的Java项目。在“新建项目”对话框中,选择“Maven Project”类型,并在“下一步”对话框中选择“Spring Boot Starter Project”模板。输入项目的 Group 和 Artifact ID,然后单击“完成”。 3. Maven将自动在pom.xml文件中包含所需的依赖项和插件。如果需要添加其他依赖项,可以在该文件中添加。如果需要更改默认的项目结构和配置文件,请将内容添加到src/main/resources文件夹中。 4. 在“src/main/java”文件夹中创建一个Java类作为启动类。在类上添加@SpringBootApplication注释。该注释包含了@SpringBootApplication注释的默认@Configuration,@EnableAutoConfiguration和@ComponentScan注释,这三个注释的结合使得应用程序能够自动配置。 5. 在该Java类中,编写Spring Boot应用程序的代码。Spring Boot应用程序可以是Web应用程序或非Web应用程序,这取决于应用程序的要求。如果是Web应用程序,可以使用@Controller注释和@RequestMapping注释创建控制器层。如果非Web应用程序,还可以使用@Service注释和@Autowired注释创建服务层和数据访问层。 6. 单击Eclipse菜单栏中的图标“运行”按钮或使用快捷键Ctrl + F11启动应用程序。如果一切顺利,应用程序将在控制台输出内容。 通过以上步骤,使用Eclipse搭建Spring Boot项目是十分简单和快捷的。Eclipse提供了丰富的集成环境,同时Spring Boot框架提供了一种快速开发应用程序的方式,二者结合可以使得开发者更加高效地进行项目的开发和运行。 ### 回答3: Eclipse 是主流的 java 开发工具之一,它提供了一种简单方便的方式来搭建 springboot 项目。本文将介绍如何在 Eclipse搭建 springboot 项目。 一. 准备工作 1. 安装了 JDK 2. 安装了 Eclipse IDE 3. 安装了 Spring tools 4 插件 二. 创建 Springboot 项目 1. 打开 Eclipse IDE 并创建一个新的 Maven 项目。 2. 在创建新项目的对话框中,选择 Maven Project,并点击 Next。 3. 在接下来的对话框中,为你的项目选择一个 Group Id 和 Artifact Id。Group Id 命名通常以反转的域名为主,例如 com.example。Artifact Id 则为你的项目取一个名字。 4. 点击 Next,选择你的项目的模板,这里选择了 spring-boot-starter-web 的模板。 5. 点击 Next 和 Finish 完成项目的创建。随后 Maven 会自动下载所需的依赖。 三. 编写 Springboot 应用程序 1. 打开你的项目的 pom.xml 文件,将依赖项 spring-boot-starter-web 的版本标签更改为最新的版本。 2. 打开 src / main / java 目录,并创建一个新的 java 类,名称自己定义。 3. 将你的新类添加到你的项目中,并在类中编写你的应用程序代码。 4. 在应用程序代码中,引用 springboot 相关的注解,并重写 main 方法。例如,如下是一个简单的 springboot 应用程序: ``` @SpringBootApplication public class SpringBootHelloWorldApplication { public static void main(String[] args) { SpringApplication.run(SpringBootHelloWorldApplication.class, args); } @RequestMapping(value="/hello") public String hello() { return "Hello,World!"; } } ``` 5. 保存你的代码。 四. 运行 Springboot 应用程序 1. 在 Eclipse IDE 中选择你的应用程序类,并右键单击 Run As->Java Application。 2. 现在你的应用程序应该已经启动了。在浏览器中访问地址 http://localhost:8080/hello,将看到 "Hello,World!" 的页面。 至此,你已经成功搭建了一个简单的 springboot 项目。在实际开发中,可以根据需要添加其他的依赖项,比如数据库连接池、mybatis 等等,以满足项目的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值