Java框架Spring Boot经验总结——《我的Java打怪日记》

简介: Spring Boot可以说,是当前Java领域非常重要的一个框架,可以非常方便的进行Java Web应用的开发。官网提供的一套脚手架可以快速进行项目模板的创建,并引入依赖库。Spring Boot框架为广大的Java工程师带来了福音,Web API写起来更加的高效。

Spring Boot可以说,是当前Java领域非常重要的一个框架,可以非常方便的进行Java Web应用的开发。官网提供的一套脚手架可以快速进行项目模板的创建,并引入依赖库。项目初始模板可以访问网站:https://start.spring.io 即可,具体如下所示:
1.png
此界面提供了多种配置参数,可以宣称依赖管理的工具是Maven还是Gradle,可以宣传开发的语言是Java\Kotlin还是Groovy。另外,可以配置项目的打包方式,是Jar还是War,并选择JDK的版本,这里选择JDK 8。右边可以添加合适的依赖库,这里添加Spring Web,MySQL和PostgreSQL的驱动库。参数确定后,单击【GENERATE】按钮生成项目模板代码包。
其次,可以将下载的项目模板代码包解压,并用IDEA打开项目,其中的pom.xml代码如下:

< ?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    < modelVersion>4.0.0< /modelVersion>
    < parent>
        < groupId>org.springframework.boot< /groupId>
        < artifactId>spring-boot-starter-parent< /artifactId>
        < version>2.5.1< /version>
        < relativePath/> < !-- lookup parent from repository -->
    < /parent>
    < groupId>com.example< /groupId>
    < artifactId>demo< /artifactId>
    < version>0.0.1-SNAPSHOT< /version>
    < name>demo< /name>
    < description>Demo project for Spring Boot< /description>
    < properties>
        < java.version>1.8< /java.version>
    < /properties>
    < dependencies>
        < dependency>
            < groupId>org.springframework.boot< /groupId>
            < artifactId>spring-boot-starter-web< /artifactId>
        < /dependency>

        < dependency>
            < groupId>mysql< /groupId>
            < artifactId>mysql-connector-java< /artifactId>
            < scope>runtime< /scope>
        < /dependency>
        < dependency>
            < groupId>org.postgresql< /groupId>
            < artifactId>postgresql< /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>

默认情况下,IDEA中的Maven仓库会指向官方的地址,这可能会导致有些Jar包下载的比较慢,或者说有时候会出现无法下载的情况。针对这种情况,建议是配置maven的本地仓库,并设置国内的镜像,比如华为的镜像或者阿里的镜像等。如果有些库还是没有,可以放在本地,并在pom.xml中进行引用。
在项目文件中,添加一个控制器文件,这个控制器controller包位于DemoApplication类的内部,这样SpringBoot可以自动进行类扫码,并加载,否则,可能需要单独进行配置,指定SpringBoot到哪里进行类扫描,不然会出现定义的controller api无法调用的情况。具体的项目结构如下图所示:
2.png
HomeController.java是一个典型的Java 后台代码,SpringBoot利用框架提供的注解,非常方便的进行Web服务的开发工作,大大简化了后台代码的开发难度,从而提高了开发效率。示例文件的代码如下:

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class HomeController {
    @RequestMapping("/login")
    public String Login(@RequestParam("username") String username, @RequestParam("password") String password) {
        if ("admin".equals(username) && "12345".equals(password)){
            return "1";
        }else {
            return "0";
        }
    }
}

根据官方文档的说法,@RestController相当于@Controller和@ResponseBody的组合,返回JSON数据时,不需要在方法前加@ResponseBody,但用@RestController注解时,不能返回jsp,html页面。@RequestMapping代码请求时候的API路径映射,这个是唯一的,可以供前台AJAX进行调用。这里类上的@RequestMapping注解和方法上的@RequestMapping组合起来构成一个API的调用路径。@RequestParam("username") String username表示一个Request参数,参数名为username,类型是String,并赋值给变量username。这样前台调用的时候,参数名需要和后台参数名保持一致。
这样启动服务,只需要在浏览器中输入类似如下的网址即可:
http://localhost/api/login?username=admin&password=123

相关文章
|
25天前
|
前端开发 Java 数据库连接
Spring框架初识
Spring 是一个分层的轻量级开源框架,核心功能包括控制反转(IOC)和面向切面编程(AOP)。主要模块有核心容器、Spring 上下文、AOP、DAO、ORM、Web 模块和 MVC 框架。它通过 IOC 将配置与代码分离,简化开发;AOP 提供了声明性事务管理等增强功能。
74 21
Spring框架初识
|
17天前
|
人工智能 Java API
Java也能快速搭建AI应用?一文带你玩转Spring AI可落地性
Java语言凭借其成熟的生态与解决方案,特别是通过 Spring AI 框架,正迅速成为 AI 应用开发的新选择。本文将探讨如何利用 Spring AI Alibaba 构建在线聊天 AI 应用,并实现对其性能的全面可观测性。
|
2天前
|
前端开发 Java 数据库连接
Spring MVC 扩展和SSM框架整合
通过以上步骤,我们可以将Spring MVC扩展并整合到SSM框架中。这个过程包括配置Spring MVC和Spring的核心配置文件,创建控制器、服务层和MyBatis的Mapper接口及映射文件。在实际开发中,可以根据具体业务需求进行进一步的扩展和优化,以构建更加灵活和高效的企业级应用程序。
16 5
|
16天前
|
存储 人工智能 开发框架
Spring AI Alibaba 应用框架挑战赛圆满落幕,恭喜获奖选手
第二届开放原子大赛 Spring AI Alibaba 应用框架挑战赛决赛于 2 月 23 日在北京圆满落幕。
|
12天前
|
人工智能 Java API
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性
|
2月前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
139 29
|
2月前
|
存储 NoSQL Java
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
79 21
|
1月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
73 7
|
1月前
|
XML Java 开发者
通过springboot框架创建对象(一)
在Spring Boot中,对象创建依赖于Spring框架的核心特性——控制反转(IoC)和依赖注入(DI)。IoC将对象的创建和管理交由Spring应用上下文负责,开发者只需定义依赖关系。DI通过构造函数、setter方法或字段注入实现依赖对象的传递。Spring Boot的自动配置机制基于类路径和配置文件,自动为应用程序配置Spring容器,简化开发过程。Bean的生命周期包括定义扫描、实例化、依赖注入、初始化和销毁回调,均由Spring容器管理。这些特性提高了开发效率并简化了代码维护。
|
8天前
|
存储 监控 数据可视化
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。