下面是 Spring Boot 项目搭建教程,包含分离出 common 父依赖的步骤:
1. 环境搭建
首先需要保证本地环境已经安装了 JDK 和 Maven。在命令行输入:
java -version
mvn -v
上述命令输出正常,则说明环境已经搭建好了。
2. 创建 Maven 工程
在命令行输入以下命令:
mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
该命令会生成一个 Maven 工程,目录结构如下:
myproject
|--src
| |--main
| | |--java
| | |--resources
| |
| |--test
| |--java
| |--resources
|
|--pom.xml
3. 引入 Spring Boot 依赖
在 pom.xml 中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入 common 项目的父依赖 -->
<dependency>
<groupId>com.example</groupId>
<artifactId>common</artifactId>
<version>0.0.1</version>
</dependency>
其中,spring-boot-starter-web
是 Spring Boot 的 Web Starter,包含了 SpringMVC 和 Tomcat 容器的依赖。
common
是我们创建的另外一个项目,它是用来存放一些通用的代码和配置,可以是一个 Java 库项目。
4. 创建 Spring Boot 应用程序的入口类
在 src/main/java
下创建一个 Java 类,然后在类级别上添加注解 @SpringBootApplication
,该注解包含了以下三个注解:
@Configuration
@EnableAutoConfiguration
@ComponentScan
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
注:该类名和 artifactId
保持一致。
5. 编写示例代码
在 src/main/java
下创建一个 Java 类,以 /hello
访问时返回 "Hello World!" 字符串,代码如下:
@RestController
public class HelloWorldController {
@GetMapping("/hello")
public String sayHello() {
return "Hello World!";
}
}
备注:@RestController
是 SpringMVC 中新加入的注解,是一个复合注解,等同于 @Controller
和 @ResponseBody
。在 Spring Boot 应用中表示这是一个 REST 风格的控制器。
6. 打包和运行
在命令行进入项目根目录,运行以下命令打包项目:
mvn package
运行以下命令启动 Spring Boot 应用:
java -jar target/myproject-1.0-SNAPSHOT.jar
在浏览器访问 http://localhost:8080/hello
即可看到返回的 "Hello World!" 字符串。
7. 通过 Maven 继承机制引入 common 项目的依赖
在 myproject
的 pom.xml 中添加以下内容:
<project>
...
<dependencies>
...
<!-- 引入 common 项目的父依赖 -->
<dependency>
<groupId>com.example</groupId>
<artifactId>common</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
...
<build>
<plugins>
...
</plugins>
</build>
</project>
8. 创建 common 项目
创建一个新的 Maven 项目,命名为 common
,在 pom.xml
中添加以下父依赖:
<project>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
...
</project>
该父依赖会从 Spring 官方的 Maven 仓库中引入依赖的版本等信息。接下来在 common 项目中添加一些通用的代码或配置即可。
9. 示例代码
下面是一个在 Spring Boot 项目中使用 MyBatis 操作 MySQL 数据库的示例代码。
1)在 myproject
的 pom.xml
中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>
2)在 Spring Boot 应用程序的入口类中添加注解:@MapperScan("com.example.mapper")
3)创建一个 Dao 层的接口,例如,UserMapper
,在该接口上添加注解 @Mapper
:
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user")
List<User> findAll();
}
4)创建一个 Service 层的接口和实现,例如,UserService
,在该接口上添加注解 @Service
:
@Service
public interface UserService {
List<User> findAll();
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> findAll() {
return userMapper.findAll();
}
}
5)在控制器中注入 UserService,并创建一个 HTTP GET 请求:
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> list(){
return userService.findAll();
}
}
6)在 application.properties
中配置数据库连接:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:/mapper/*.xml
mybatis.type-aliases-package=com.example.pojo
7)在 src/main/resources
目录下创建一个目录 mapper
,在该目录下创建一个 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="findAll" resultType="com.example.pojo.User">
SELECT * FROM user
</select>
</mapper>
至此,我们就完成了一个简单的 Spring Boot 项目,并在其中使用了 MyBatis 进行数据库操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot项目的搭建教程(分离出common父依赖) - Python技术站