1.はじめに:
他のブログへのインストール、設定、およびその他の知識だけで新人として紹介し、非常に洗練書かれているのMaven、私はMavenを入れて、小さなデモ春のプロジェクトと私はMavenのに遭遇したいくつかのマイナーなバグを構築することを学ぶようになりました。
2. MavenのPOMファイル
Mavenのは、プロジェクトオブジェクトモデルの概念に基づいているため(プロジェクトオブジェクトモデル、POM)の操作、Mavenプロジェクトは、プロジェクトの依存関係やプロジェクト管理、その他の機能をコンパイルするために使用さpom.xmlファイルを持っているので。
2.1依存関係の要素
<dependencies>
</dependencies>
この要素は、アイテムが複数の使用に依存する必要が含まれてい<dependency></dependency>
。
2.2 dependency要素
<dependency></dependency>
内部は、この3点の座標を呼び出すことができる、唯一の依存性のgroupId、たartifactId、バージョンによって決まります。
groupIdは:一意組織を識別する。
たartifactId:プロジェクトの固有の識別。
バージョン:プロジェクトのバージョン。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
要素の2.3性質
<dependency> </dependency>
依存変数の参照で定義することができ、以下のように、コードは次のとおりです。
<properties>
<java.version>1.8</java.version>
<spring-framework.version>4.3.18.RELEASE</spring-framework.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-framework.version}</version>
</dependency>
2.4コンパイラプラグイン
Mavenのは、コンパイラプラグインを提供し、あなたは、プラグインのコードをコンパイルするJavaコンパイラのレベルを設定することができ、次のとおりです。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
3 IDEAフォローアッププロジェクト(ない新しいプロジェクトを作成するMavenプロジェクト)に春のプロジェクト、Mavenを作成します。
3.1 IDEA春の新プロジェクト
ファイル---->新規---->プロジェクト----- >春----> 写真を見て、二つの場所をチェック---->次に---->プロジェクト名を入力します--- - > [プロジェクトの場所を選択してください----->完了
プロジェクト構造:
新しいプロジェクトは、WEB-INF A libフォルダ(辞書)に建てられた後、LIBディレクトリにいくつかの基本的なパッケージの春をコピーして、公開することクラスパス。
私が使用して関連のjarパッケージ:
リンクします。https://pan.baidu.com/s/11w-wLbXeRK5s_4eU87EHmw
抽出コード:4ffo
次のクラスパスにIDEAリリースパッケージ:公表されるように、パッケージ名を選択----->右- --->ライブラリに追加
3.2書き込み適切なコードの出力に「Hello World!」
(1)右---->パッケージを作成します(パッケージ)---->パッケージ名で塗りつぶしSRC:learn.spring.demo ----> OK
(2)learn.spring.demoでパッケージを作成しますUserDaoを言い訳、そして言う()インターフェイスメソッドを定義します。
package learn.spring.demo;
public interface UserDao {
public void say();
}
(3)実装インタフェースUserDaoImpl UserDao learn.spring.demoパッケージで、必要クラス言う()インターフェイスメソッドを実装し、メソッドで出力文を記述するというクラスを作成します。
package learn.spring.demo;
public class UserDaoImpl implements UserDao {
public void say(){
System.out.println("userDao say hello World!");
}
}
(4)在 src 下创建 Spring 的配置文件 applicationContext.xml, 并在配置文件中创建一个 id 为 userDao 的 Bean 。
src ----> 右键 -----> New ----> Xml Configuration file ----> spring config -----> 输入配置文件名字:applicationContext -----> ok
applicationContext.xml 内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 将指定类配置给 Spring, 让 Spring 创建其对象的实例 -->
<bean id="userDao" class="learn.spring.demo.UserDaoImpl" />
</beans>
(5)在 learn.spring.demo 包下,创建测试类 TestIoc,并在类中编写 main()方法。代码如下:
package learn.spring.demo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
public static void main(String [] args){
//1. 初始化 spring 容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//2. 通过容器获取 userDao 实例
UserDao userDao = (UserDao)applicationContext.getBean("userDao");
//3. 调用实例中的方法
userDao.say();
}
}
执行程序控制台输出:
项目结构:
3.3 转为Maven项目
(1)把 lib 下面的 jar 删除。
(2)项目右键 ----> Add Framework Support ----> maven -----> ok。
(3) 把配置文件 applicationContext.xml 移到 resource 下面。
(4)把 pom.xml 中 改成自己的。
(5)配置 pom.xml 文件,把 原本 lib 目录中的 jar 包配置到 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>SpringMaven02</groupId>
<artifactId>SpringMaven02</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<!--<dependency>
<groupId>org.apache</groupId>
<artifactId>commons-logging</artifactId>
<version></version>
</dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
修改完 pom.xml 文件后,右下角有一个弹窗,选择 Import Changes,稍等一下,maven 会自动下载项目所依赖的 jar 包
(6)运行 TestIoc 类中的 main()方法,控制台输出:
项目结构:
4 IDEA 新建一个 Spring 项目 ( maven 项目)
(1)File ----> New ----> Project -----> maven ----> Next ----> 填 GroupId -----> 填 ArtifactId ----> Next ----> 选择 Project Location ----> Finish
(2)在 src 下新建 learn.spring.demo 包,并把上面的 UserDao类、UserDaoImpl 类 和 TestIoc类复制到 该包下面;
(3)把 applicationContext.xml 复制到 resource 目录下面;
(4)把 上面 pom.xml 中的配置复制到本项目中的 pom.xml 中;
(5)配置 pom.xml 文件,把 原本 lib 目录中的 jar 包配置到 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>spring.maven</groupId>
<artifactId>demo1</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<!--<dependency>
<groupId>org.apache</groupId>
<artifactId>commons-logging</artifactId>
<version></version>
</dependency>-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
修改完 pom.xml 文件后,右下角有一个弹窗,选择 Import Changes,稍等一下,maven 会自动下载项目所依赖的 jar 包
(5)运行 TestIoc 类中的 main()方法,控制台输出:
项目结构:
5 错误总结
5.1 groupId、artifactId、version 这三个东西一定要对,要不然 maven 找不到要需要的东西,我就是把 <version> </version> 弄错了,导致一直不成功。
错误:<version>4.3.6</version>
正确:<version>4.3.6.RELEASE</version>
5.2 pom.xm後の文書が正しいポイントインポート変更IDEAの右下隅に行きませんでした、Mavenはスマート、あなたは自動的に、良い方向に変え、それをダウンロードし、ダウンロードをトリガーか見つけるためにワンクリックを得ることはありません。
pom.xmlファイルを変更した後、右下隅のポップがあり、インポートの変更]を選択し、瞬間を待って、Mavenのプロジェクトに自動的に依存するJARパッケージダウンロードする
プロジェクトのソースコード(githubのアドレス):唯一のプロジェクトの後ろに、ソースコードをダウンロードするために私をクリックしてください