【SpringBoot2 从0开始】开发世界著名程序体验 springboot

简介: 【SpringBoot2 从0开始】开发世界著名程序体验 springboot

一、环境


  • Java 8
  • Maven 3.3+
  • idea 2018(个人)


环境要先安装好。


关于 maven 配置


配置本地仓库


官网下载好 zip 包后解压,然后里面新建一个仓库目录 repository。


打开 conf 目录下的 配置文件 settings.xml。


1268169-20210824221030419-1633285061.png


在第 55 行的位置号,配置上你的repository路径。


1268169-20210824221233834-1022483258.png


配置阿里云镜像


继续在配置文件里,配置阿里云的镜像。


<mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>


这里的profiles是指定使用 jdk 1.8进行编译,以防开发中出现一些其他的问题。找个空位置粘贴即可。


二、编写 helloworld


1. idea 设置 maven


打开 idea 的 Settings,把本地的 maven 设置好。


1268169-20210824222310511-1852211098.png


2. 创建 maven 项目


1268169-20210824222607269-1539645044.png


下一步:


1268169-20210824222636326-339395696.png


点击 finish 结束。


1268169-20210824222737684-869205822.png


3. pom 中导入父工程


打开pom.xml导入。


<!--导入父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
    </parent>


4. 添加依赖


之前开发个 web 要导一大堆,现在只要添加一个依赖即可。仍然是在pom.xml中:


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


导入完成后,点开这里的库,会发现该有的都有了。


1268169-20210824223431076-151354599.png


5. 编写代码


(1)主程序类


package com.pingguo.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
// 标记这是一个 springboot应用,这个类是主程序类,所有启动的入口
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }
}


(2)controller


接下来就跟以前一样了,写一个控制器:


package com.pingguo.boot.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String Hello() {
        return "Hello SpringBoot2";
    }
}


  • @RestController是一个复合注解,表示@Controller + @ResponseBody。这些知识已经在前面springMVC相关内容中学习过了。


6. 运行程序


直接运行上面写好的主运行程序即可。


1268169-20210824224716832-1312258165.png


点击运行:


1268169-20210824224808755-491801839.png


就是这么简单。


7. 访问请求


打开浏览器访问http://localhost:8080/hello:


1268169-20210824224943793-1815078338.png


请求成功。


8. 简化配置


springboot可以最大化简化配置,比如我们可以将未来要使用到的一些配置,全部抽取到一个配置文件里application.properties。

1268169-20210824225311814-27559130.png



在这里,可以修改关于tomcat的一些设置、springMVC相关的设置等等,比如修改tomcat端口号:


server.port=8888


重新启动应用:


1268169-20210824225504317-1512706212.png


这里具体能写哪些配置,详见官方文档 https://docs.spring.io/spring-boot/docs/current/reference/html/


1268169-20210824225846283-486326291.png


已经安排的明明白白的。


1268169-20210824230040303-635625662.png


9. 简化部署


在之前要部署应用,先得把应用打成 war 包。


现在只要引入一个依赖,就可以直接把项目打成一个可执行的 jar 包,里面包含了运行环境,所以可以直接在目标服务器运行。


<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


点击右侧maven里的打包。


1268169-20210824230555470-1825773313.png


打包完成。


1268169-20210824230652455-1070373319.png


打开左侧目录树 target 的,已经有了 jar 包。


1268169-20210824230718092-537044720.png


现在停止刚才运行的服务,直接用 java 运行这个 jar 包尝试一下:


java -jar boot-01-helloworld-1.0-SNAPSHOT.jar


1268169-20210824231004286-1417065531.png


启动成功。

相关文章
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
969 7
|
XML 人工智能 Java
优化SpringBoot程序启动速度
本文介绍了三种优化SpringBoot启动速度的方法:1) 延迟初始化Bean,通过设置`spring.main.lazy-initialization`为true,将耗时操作延后执行;2) 创建扫描索引,利用`spring-context-indexer`生成@ComponentScan的索引文件,加速类扫描过程;3) 升级至最新版SpringBoot,享受官方性能优化成果。这些方法能显著提升程序编译与启动效率。
2288 0
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
缓存 NoSQL Java
基于SpringBoot的Redis开发实战教程
Redis在Spring Boot中的应用非常广泛,其高性能和灵活性使其成为构建高效分布式系统的理想选择。通过深入理解本文的内容,您可以更好地利用Redis的特性,为应用程序提供高效的缓存和消息处理能力。
1743 79
|
供应链 JavaScript BI
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
这是一款专为小微企业打造的 SaaS ERP 管理系统,基于 SpringBoot+Vue+ElementUI+UniAPP 技术栈开发,帮助企业轻松上云。系统覆盖进销存、采购、销售、生产、财务、品质、OA 办公及 CRM 等核心功能,业务流程清晰且操作简便。支持二次开发与商用,提供自定义界面、审批流配置及灵活报表设计,助力企业高效管理与数字化转型。
1062 2
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
1376 0
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
724 6
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
598 5