优秀的编程知识分享平台

网站首页 > 技术文章 正文

Spring Boot基础项目搭建过程讲解

nanyue 2024-08-20 17:35:14 技术文章 6 ℃

1.Spring Boot 简介

  • Spring Boot使您可以轻松地创建独立的、生产级的、基于Spring的应用程序,使用构建工具引入需要的依赖包,项目即可运行,大多数Spring应用程序只需要很少的Spring配置。
  • Spring Boot 的配置方式和之前的Spring 是有区别的,Spring Boot 不需要写xml的配置,采用Java配置方式就是使用Java类来替代Spring原先的xml文件
  • Spring Boot 支持Maven 和 Gradle 这两款构建工具。Gradle使用Groovy语言进行构建。与Maven、Ant等构建工具有良好的兼容性。因大部分对Maven比较熟悉,本书Maven作为项目的构建工具

2.新建项目

新建项目可以基于自己的工具idea、ecplsie新建,也可以基于Spring提供的https://start.spring.io/进行构建。

2.1基于https://start.spring.io/构建

浏览器输入网址https://start.spring.io/


比如我依赖了Lombok(可不用写getter setter)


点击generator即可下载


导入到开发工具即可,
缺点是只有目前最新的Spring Boot 版本

2.2使用idea构建

点击File->new->project选择Maven


点击
Next,输入项目信息


点击
Next


点击
Finish,选择This Window 或 **New Window **均可

为了方便大家课后阅读源码,我将Spring Boot 的示例项目健在fw-spring-cloud这个聚合工程里面

2.4 Spring Boo项目配置

新建项目中,在src/mian/java 放置的是Java文件,src/main/resources放置的是项目的资源文件,src/test 则放置的是测试相关的Java文件和资源文件。

2.4.1 pom 文件配置

<?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">
   <parent>
       <artifactId>fw-sping-cloud</artifactId>
       <groupId>com.yisu.cloud</groupId>
       <version>1.0-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>

   <artifactId>fw-cloud-springboot</artifactId>
   <dependencies>
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
       </dependency>
   </dependencies>
</project>

配置完成之后,会自动帮我们项目置为可启动服务,启动代码如下:

@SpringBootApplication
public class FwBootApplication {
    public static void main(String[] args) {
        SpringApplication.run(FwBootApplication.class, args);
    }
}

项目中必须添加 @SpringBootApplication注解,声明了这是一个启动类,并且@SpringBootApplication已经为我们集成了很多注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(
    excludeFilters = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
), @Filter(
    type = FilterType.CUSTOM,
    classes = {AutoConfigurationExcludeFilter.class}
)}
)
public @interface SpringBootApplication

点击右键启动


默认没有配置文件的情况下,启动的端口是8080


现在我们修改配置,端修改口,在
src/main/resources 下添加application.yml 文件或 application.properties文件
以下是application.yml的形式,格式化后比较清晰

server:
  port: 8773

application.properties形式如下

server.port= 8773

我个人喜欢yml的配置文件,在配置文件比较多的时候比较清晰。

2.4.2新建接口

/**
 * @author xuyisu
 * @description hello
 * @date 2019/12/13
 */
@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(String name){
        return "hello:"+name;
    }
}

这是一个简单的RESTFUL形式的接口,@RestController可以是返回的数据默认是JSON形式的,@RestController中主要将内容转成JSON的是@ResponseBody

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody

如果使用的是@Controller就需要手动在需要返回JSON的接口上加上@ResponBody,如果不加,返回就是对应的View(页面试图)

另外说明一下@GetMapping等注解

  • 如果设置的是@RequestMapping注解,默认支持get、post、put、delete请求
  • @GetMapping只支持get请求
  • @PostMapping 只支持post请求 可用来增删改查的接口设计
  • @PutMapping 常用来作为RESTFUL的新增请求接口
  • @DeleteMapping 常用来作为RESTFUL的删除请求接口
    重新启动项目测一下接口,postman 输入接口

青锋开源项目地址:

青锋后台管理系统-springboot+layui+mybatis数据+shiro权限管理+quartz定时器: 青锋管理系统是一个后台系统脚手架,使用springboot、layui前端框架、quartz定时任务、druid数据连接池、多数据源、代码生成等多种丰富的功能。并对菜单权限、功能(按钮)权限、数据权限做了很好的处理。

最近发表
标签列表