我正在尝试在IntelliJ IDEA中创建Spring + Maven项目。
我已经阅读了这些官方Wiki,但是当我完成步骤时,我的项目中没有Maven。
我尝试手动添加它,但似乎我的能力不够好:(,因为Maven依赖项、lib文件夹和我想要使用的类过着自己的生活(依赖项不在lib文件夹中,我尝试从依赖项中键入类,但没有自动补全)。
有人有逐步指南或链接吗?
访问 https://start.spring.io,并使用Initializr生成带有所需依赖项的Maven项目。
你将得到一个zip文件,然后可以在您的开发文件夹中解压它。
然后打开Intellij,选择 文件 | 从现有源导入项目。 (或者从欢迎屏幕中导入项目)。
选择您解压的文件夹,然后按照向导进行操作,在提示时选择Maven。
参见此处:https://www.jetbrains.com/help/idea/2016.2/importing-project-from-maven-model.html
首先,通过点击“文件”->“新建”->“项目”,选择Spring来创建一个Spring项目。接着,要添加Maven支持,你可以右键点击项目,选择“添加框架支持”。这将弹出一个窗口,在其中选择“maven”。
我认为这是你要找的内容吧?
创建新项目 文件 > 新建 > 项目
- 在新项目对话框的左侧单击 Maven
- 选择 Create from archetype
- 点击 Add Archetype 按钮
- 将 Group Id 设置为 pl.codeleak
- 将 Artifact Id 设置为 spring-mvc-quickstart
- 将 Version 设置为 1.0.0
- 将 Repository 设置为 http://kolorobot.github.io/spring-mvc-quickstart-archetype
- 点击下一步并创建项目
欲了解更多,请参阅以下链接。
https://github.com/kolorobot/spring-mvc-quickstart-archetype
但是我更倾向于经典方式。使用 arch-type 生成 maven 项目,然后将 maven 项目导入 Intellij,最后在 pom.xml 中添加 Spring Maven 依赖项。这样更加清晰易懂。
如果您想创建使用Maven的Spring-boot:大多数人使用Spring Initilzr。
如果您想从头开始创建使用Maven的Spring非boot:
<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>com.stackoverflow</groupId>
<artifactId>someartifact</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>someartifact</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.13.RELEASE</version>
</dependency>
<!-- Test-related stuff -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
然后你可以创建你的第一个测试,例如:
package com.stackoverflow;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.assertTrue;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class })
public class WhateverTest {
@Autowired
YourInterface objectUnderTest;
@Test
public void test1() {
assertTrue(objectUnderTest.func());
}
}
你的配置 + 接口 + Bean:
package com.stackoverflow;
import com.stackoverflow.YourInterface;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan(value="com.stackoverflow")
public class AppConfig {
// Add whatever is needed.
}
接口:
package com.stackoverflow;
import org.springframework.stereotype.Component;
@Component
public interface YourInterface {
public boolean func();
}
实现:
package com.stackoverflow;
import org.springframework.stereotype.Component;
@Component
class YourInterfaceImpl implements YourInterface {
public boolean func() {
System.out.println("func called..."); // Always use logger in real world...
return true;
}
}
运行:
mvn clean test