我正在尝试在IntelliJ IDEA中创建spring + maven项目。 我读过these official wiki,但是当我完成步骤时,我的项目中没有maven。 我试图用我的手添加它,但似乎,我的手不够好:(因为maven依赖,lib文件夹和类,我想要使用他们自己的生活(依赖不在lib文件夹,我尝试从依赖项中键入类,没有自动完成)。 有没有人有分步指南或链接?
答案 0 :(得分:18)
转到https://start.spring.io并让Initializr为您生成具有所需依赖关系的Maven项目。
您将获得一个zip文件,然后可以在您的开发文件夹中解压缩。
然后打开Intellij并选择File |新的|来自现有来源的项目。 (或从欢迎屏幕导入项目)。
选择解压缩的文件夹,然后按照向导,在系统提示时选择Maven。
见这里:https://www.jetbrains.com/help/idea/2016.2/importing-project-from-maven-model.html
答案 1 :(得分:9)
首先通过转到File-> New-> Project并选择spring来创建一个spring项目。它将创建一个春季项目。然后,要添加maven支持,您可以右键单击该项目并选择“添加框架支持”。它将为您提供一个弹出窗口,并从中选择“maven”。
答案 2 :(得分:4)
我认为这就是你要找的东西?
创建新项目文件>新>项目强>
- 点击新项目对话框左侧的Maven
- 检查从原型创建
- 单击“添加原型”按钮
- 将组ID设置为pl.codeleak
- 将工件ID设置为spring-mvc-quickstart
- 将版本设置为1.0.0
- 将存储库设置为http://kolorobot.github.io/spring-mvc-quickstart-archetype
- 点击下一步并创建项目
请参阅以下链接了解更多信息。
https://github.com/kolorobot/spring-mvc-quickstart-archetype
但是我会参考经典的方式。使用arch-type生成maven项目并将maven项目导入Intellij然后将spring maven依赖项添加到pom.xml。很清楚
答案 3 :(得分:-2)
如果你想用Maven创建 Spring-boot :大多数人都使用Spring Initilzr。
如果您想从头开始创建 Spring with-boot with Maven :
在这种情况下(更难的方式) - 从POM.xml开始进行Spring Testing:
[整个代码+整个intelliJ转储在这里:https://github.com/wkaczurba/stackoverflow/tree/springmaveninintellij]
<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());
}
}
你的config + interface + 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