Advertisement

山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)

阅读量:

目录

前言

什么是Spring

Spring是如何简化Java开发的

什么是SpringBoot

Spring Boot的主要优点:

Hello,World

1. 准备工作

2. 创建基础项目

3. pom.xml 分析

4. 编写一个http接口

5. 将项目打成jar包,点击 maven的 package


前言

经小组成员共同讨论后,决定项目的后端主要采用springboot框架进行开发,前端采用vue框架进行开发,由于我主要负责的是后端的开发,故需先学习springb框架的相关知识,写下这篇博客记录相关学习情况。这里仅记录部分重要的学习记录、感想与总结。

什么是Spring

Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。

Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。

Spring是如何简化Java开发的

为了降低Java开发的复杂性,Spring采用了以下4种关键策略:

1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;

2、通过IOC,依赖注入(DI)和面向接口实现松耦合;

3、基于切面(AOP)和惯例进行声明式编程;

4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;

什么是SpringBoot

Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置的核心思想,默认帮我们进行了很多设置,多数 Spring Boot 应用只需要很少的 Spring 配置。同时它集成了大量常用的第三方库配置(例如 Redis、MongoDB、Jpa、RabbitMQ、Quartz 等等),Spring Boot 应用中这些第三方库几乎可以零配置的开箱即用。

简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。

Spring Boot的主要优点:

  • 为所有Spring开发者更快的入门
  • 开箱即用 ,提供各种默认配置来简化项目配置
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML配置的要求

Hello,World

1. 准备工作

我的环境准备:

  • java version “1.8.0_181”
  • Maven-3.6.1
  • SpringBoot 2.x 最新版

开发工具:

  • IDEA

2. 创建基础项目

Spring官方提供了非常方便的工具让我们快速构建应用
Spring Initializr:https://start.spring.io/

· 项目创建方式一:使用Spring Initializr 的 Web页面创建项目

  1. 打开 https://start.spring.io/
  2. 填写项目信息
  3. 点击”Generate Project“按钮生成项目;下载此项目
  4. 解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
  5. 如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。

· 项目创建方式二:使用 IDEA 直接创建项目

  1. 创建一个新项目
  2. 选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
  3. 填写项目信息
  4. 选择初始化的组件(初学勾选 Web 即可)
  5. 填写项目路径
  6. 等待项目构建成功

· 项目结构分析:

  • 程序的主启动类
  • 一个 application.properties 配置文件
  • 一个 测试类
  • 一个 pom.xml

3. pom.xml 分析

打开pom.xml,看看Spring Boot项目的依赖:

复制代码
  
    
 <!-- 父依赖 -->
    
 <parent>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-parent</artifactId>
    
     <version>2.2.5.RELEASE</version>
    
     <relativePath/>
    
 </parent>
    
  
    
 <dependencies>
    
     <!-- web场景启动器 -->
    
     <dependency>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-web</artifactId>
    
     </dependency>
    
     <!-- springboot单元测试 -->
    
     <dependency>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-test</artifactId>
    
     <scope>test</scope>
    
     <!-- 剔除依赖 -->
    
     <exclusions>
    
         <exclusion>
    
             <groupId>org.junit.vintage</groupId>
    
             <artifactId>junit-vintage-engine</artifactId>
    
         </exclusion>
    
     </exclusions>
    
     </dependency>
    
 </dependencies>
    
  
    
 <build>
    
     <plugins>
    
     <!-- 打包插件 -->
    
     <plugin>
    
         <groupId>org.springframework.boot</groupId>
    
         <artifactId>spring-boot-maven-plugin</artifactId>
    
     </plugin>
    
     </plugins>
    
 </build>

4. 编写一个http接口

1、在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到

2、在包中新建一个HelloController类

复制代码
 @RestController

    
 public class HelloController {
    
  
    
     @RequestMapping("/hello")
    
     public String hello() {
    
     return "Hello World";
    
     }
    
     
    
 }

3、编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号

简单几步,就完成了一个web接口的开发,SpringBoot就是这么简单。所以我们常用它来建立我们的微服务项目

5. 将项目打成jar包,点击 maven的 package

如果遇到以上错误,可以配置打包时 跳过项目运行测试用例

复制代码
 <!--

    
     在工作中,很多情况下我们打包是不想执行测试用例的
    
     可能是测试用例不完事,或是测试用例会影响数据库数据
    
     跳过测试用例执
    
     -->
    
 <plugin>
    
     <groupId>org.apache.maven.plugins</groupId>
    
     <artifactId>maven-surefire-plugin</artifactId>
    
     <configuration>
    
     <!--跳过项目运行测试用例-->
    
     <skipTests>true</skipTests>
    
     </configuration>
    
 </plugin>

如果打包成功,则会在target目录下生成一个 jar 包

打成了jar包后,就可以在任何地方运行了

全部评论 (0)

还没有任何评论哟~