IDEA2021创建Spring项目3种方法: Spring Initializr及Maven等

-- Idea 2021.3.1下创建spring项目的3种方法- Spring Initializr,Maven和java项目增加框架支持
【官网】:https://spring.io/projects/spring-framework#overview

应用场景

Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBC,Spring MVC,Spring Security,Spring AOP,Spring ORM,Spring Test等。 Spring Boot基本上是Spring框架的扩展,它消除了设置Spring应用程序所需的复杂例行配置.SpringBoot的目标和Spring的目标是一致的,为提供一个更快,更高效的开发框架。

基础资源

Jdk8,Spring框架5.2.3,IDEA 2021.3

使用须知

关于spring,spring mvc, springboot的区别与联系: 1)spring:相当于引擎(Spring框架的目标是使 J2EE 开发变得更容易) 2)spring mvc: 是Spring的一个模块,一个web框架,让开发web应用变得很容易,主要解决:URL路由、Session、模板引擎、静态Web资源等问题. 3)spring boot: 基于spring4的快速开发工具包,自动配置,降低项目搭建复杂度

配置步骤

A)初始化创建Spring项目的几种方式。

A1)基于Spring Initializr创建。

step1)创建一个项目,基于Spring Initializr模式


Group:项目组织的唯一标识符,通常分为多个段,自己使用随便设置即可
这里介绍两段的用法:第一段为域,第二段为公司名称
域又分为org、com、cn等,其中org为非营利组织,com为商业组织,cn表示中国
例如apache公司的tomcat项目:org.apache.tomcat
Group是org.apache
域是org(tomcat是非营利项目
公司名称是apache
Artifact是tomcat
Artifact:项目的唯一的标识符,就是项目的名称,注意只能全小写,不能存在大写字母
Grounp+Artifact就相当于项目的坐标,保证了项目的唯一性
Name:默认同Artifact,声明了一个对于用户更为友好的项目名称,不是必须的
Package name:指定main目录里java下的包名称,默认为Group+Artifact
Packaging:打包方式,可选项:war,jar,在pom文件中可以随意修改
version:指定了项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本

step2)选择Spring Boot版本,需要依赖的组件模块

【注】选择依赖的组件,IDEA会自动将搜需要的依赖文件自动配置到pom文件中.


step3)创建完成,生成一个拥有了main函数的初始化项目,主函数在类SpringDemo01Application中


step4)新增一个Controller类,并指定路由。最后运行main函数所在的java类,spring boot项目无需额外单独安装tomcat等软件

主函数代码如下:


package cn.net.config.springdemo01;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringDemo01Application {

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

}


step5)验证性的访问api,  http://localhost:8080/api/hello

A2)基于Maven项目创建。

step1)创建新项目,选择Maven.


step2)设置好项目名称,路径,组织标识(GroupId),项目标识(ArtifactId),版本.


step3)设置好POM设置好Spring项目的依赖,并更新这些依赖.

[附: 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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.net.config</groupId>
    <artifactId>SpringDemo03</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.10-SNAPSHOT</version> </parent> <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
</project>



step4)创建主函数,主入口类,及默认的controller类.

A3)基于简单Java项目,之后引入框架支持的方式创建。

step1)创建一个普通java项目


step2)从模板中创建


step3)创建完成,看到一个包含主函数的入口java类


step4)右键项目,选择 Add Framework Support(引入框架支持)


step5) Add Framework Support过程中选择Spring框架


step6) 在java目录同级目录下,创建resources目录,并Mark Directory As   "Resource Root"  


step7) 在Resouces目录下新建一个Spring配置文件 


step8) 添加Bean相关的配置 


step9) 添加相关的类之后进行调试

    此处参考前两种方案。

常见问题

  • http://localhost:8080无法访问
    【解决方案】端口被占用,在项目中的src/main/resources目录下创建application.properties, 在文件中写入 server.port=新指定端口

快速入门

参考资料