IDEAはspringのソースコードを読んでデバッグします.
6660 ワード
アリ雲サーバのクーポンを受け取ります. クーポン券
ターゲット:Springのソースコードを読み、コードを調整して追跡する環境を構築し、ついでに簡単なDemoを創立して、Springのソースコードを調整することができます.
このセクションでは、Springのソースコードの読み取りとデバッグに関する環境構築を紹介し、MVNを使って非常に簡単なDemoを作成し、Springのカーネルの追跡とデバッグができます.
1、ソースのダウンロード
SpringのソースはGitHubからダウンロードできます.https://github.com/spring-projects/spring-framework
2、Springソースのコンパイル
Springソースをダウンロードした後、私はここで慣れています.直接にIDEに導入するのではなく、コンパイルしてください.大規模なオープンソースプロジェクトは自動化構築ツールによってコンパイルパッケージを実現するので、先にコンパイルしたほうがいいです.コンパイル中に自動的にダウンロードに関する依存があります.現在、ほとんどのプロジェクトのコンパイルの過程で発生した問題は、まずプロジェクト依存の問題にまとめられています.
①コンパイル環境
A、操作システム:ソースと関連開発環境は全部macの下にあります.
B、JDK:JDK 1.8を取り付けます.
C、SpringソースはGradeという自動化構築ツールを使って構築されたので、インストールが必要です. Graadle、インストールの過程は多く言いませんでした.
D、私が使っているIDEは Intelli IDEAですので、インストールが必要です. Intelli IDEAフラッグシップ版は、無料で30日間です.
②、ソースコンパイル
ソースコードのコンパイル環境が整いましたら、ソースコードをコンパイルする前に、Springのソースコードのカタログをよく見てください. README.md、import-into-indea.md この二つの書類. README.mdでは、コンパイル全体と注意すべき点を教えてくれました.IDEの開発ツールとしてEclipseを使用すれば、直接運転します. あるいは.import-into-eclipse.batはソースコードをEclipseに導入することができます.IDEAを開発ツールとして使うなら、真剣に読む必要があります. import-into-indea.mdはIDEA導入の手順を教えてくれます.
A、先に入ってください./spring-frame ewarkディレクトリ、実行します. ./gradlew:spring-oxm:compleTest Java まずSpring-oxmモジュールをプリコンパイルします.
B、やはり…/spring-frame ewarkディレクトリで、実行します./gradlew build-x test コンパイル、Spring全体のソースコードです.後ろの-x test コンパイル中にテストケースを無視したものです.これを加えてSpringのテストケースもあります.コンパイルの時間は、ネットワークの円滑さによって異なります.
③ソース導入IDEA
コンパイルが通ったら、ソースをIDEAに導入できます.
IDEAにFile->New->Project from Existing Sources->Navigate to directoryを選択し、Springソースディレクトリを選択して導入し、IDEAが自動的にGradeを使って構築します.構築が完了したら、次のような設定が必要です.
除外する spring-aspects このプロジェクトはSpringのAOPシステムでaspectsを統合していますが、IDEAではコンパイルできません.
http://youtrack.jetbrains.com/issue/IDEA-64446
選択 spring-aspects 項目の右ボタンから、「Load/Unload Moudeules」を選択して、ポップアップフォームに設定します.
3、簡単なデモの構築
ここで簡単なDemoを作成することができます.DemoはSpringのソースコードに依存しています.このようにして、外部からDemoを実行して、Springの内部ソースを追跡します.一般性を失わないために、ここのDemoはMVNを採用して構築していますが、Springのソース依存はIDEAにコストを設定するソースコードが必要です.
①IDEAを使ってSpringのソースコードのProjectディレクトリの下でDemoを作成し、直接MVNの骨格を使うことができます.
②、デモに関する設定と簡単なコードテスト
A、pom.xmlのセットをお願いします. junnitはバージョンに依存しています.4.12に変更しないとSpringのユニットテストはコンパイルが通らないです.
B、IDEAにSpringの項目依存を設定する(Spring-core、Spring-beans、Spring-context、Spring-expressionのこれらのmoduleを設定すればいい):
C、pom.xmlには、comons-logingの依存性を導入する必要があります.そうでないと、コンパイルレポートにロギングFactoryのエラーが見つからないです.静的リソースパスを設定します.(そうでないと、xmlを読み込む時、パスが見つからないです.)
D、Springの設定と簡単なSpringコードの作成
簡単な登録インターフェースを作成します.
実現クラスがあります.
その後、このbeanを構成に登録する(経路spring-debug/src/spring-config.xml):
その後、Debugを行うことができますし、Springソースの内部にDebugを行うことができます.
ターゲット:Springのソースコードを読み、コードを調整して追跡する環境を構築し、ついでに簡単なDemoを創立して、Springのソースコードを調整することができます.
このセクションでは、Springのソースコードの読み取りとデバッグに関する環境構築を紹介し、MVNを使って非常に簡単なDemoを作成し、Springのカーネルの追跡とデバッグができます.
1、ソースのダウンロード
SpringのソースはGitHubからダウンロードできます.https://github.com/spring-projects/spring-framework
2、Springソースのコンパイル
Springソースをダウンロードした後、私はここで慣れています.直接にIDEに導入するのではなく、コンパイルしてください.大規模なオープンソースプロジェクトは自動化構築ツールによってコンパイルパッケージを実現するので、先にコンパイルしたほうがいいです.コンパイル中に自動的にダウンロードに関する依存があります.現在、ほとんどのプロジェクトのコンパイルの過程で発生した問題は、まずプロジェクト依存の問題にまとめられています.
①コンパイル環境
A、操作システム:ソースと関連開発環境は全部macの下にあります.
B、JDK:JDK 1.8を取り付けます.
C、SpringソースはGradeという自動化構築ツールを使って構築されたので、インストールが必要です. Graadle、インストールの過程は多く言いませんでした.
D、私が使っているIDEは Intelli IDEAですので、インストールが必要です. Intelli IDEAフラッグシップ版は、無料で30日間です.
②、ソースコンパイル
ソースコードのコンパイル環境が整いましたら、ソースコードをコンパイルする前に、Springのソースコードのカタログをよく見てください. README.md、import-into-indea.md この二つの書類. README.mdでは、コンパイル全体と注意すべき点を教えてくれました.IDEの開発ツールとしてEclipseを使用すれば、直接運転します. あるいは.import-into-eclipse.batはソースコードをEclipseに導入することができます.IDEAを開発ツールとして使うなら、真剣に読む必要があります. import-into-indea.mdはIDEA導入の手順を教えてくれます.
A、先に入ってください./spring-frame ewarkディレクトリ、実行します. ./gradlew:spring-oxm:compleTest Java まずSpring-oxmモジュールをプリコンパイルします.
B、やはり…/spring-frame ewarkディレクトリで、実行します./gradlew build-x test コンパイル、Spring全体のソースコードです.後ろの-x test コンパイル中にテストケースを無視したものです.これを加えてSpringのテストケースもあります.コンパイルの時間は、ネットワークの円滑さによって異なります.
③ソース導入IDEA
コンパイルが通ったら、ソースをIDEAに導入できます.
IDEAにFile->New->Project from Existing Sources->Navigate to directoryを選択し、Springソースディレクトリを選択して導入し、IDEAが自動的にGradeを使って構築します.構築が完了したら、次のような設定が必要です.
除外する spring-aspects このプロジェクトはSpringのAOPシステムでaspectsを統合していますが、IDEAではコンパイルできません.
http://youtrack.jetbrains.com/issue/IDEA-64446
選択 spring-aspects 項目の右ボタンから、「Load/Unload Moudeules」を選択して、ポップアップフォームに設定します.
3、簡単なデモの構築
ここで簡単なDemoを作成することができます.DemoはSpringのソースコードに依存しています.このようにして、外部からDemoを実行して、Springの内部ソースを追跡します.一般性を失わないために、ここのDemoはMVNを採用して構築していますが、Springのソース依存はIDEAにコストを設定するソースコードが必要です.
①IDEAを使ってSpringのソースコードのProjectディレクトリの下でDemoを作成し、直接MVNの骨格を使うことができます.
②、デモに関する設定と簡単なコードテスト
A、pom.xmlのセットをお願いします. junnitはバージョンに依存しています.4.12に変更しないとSpringのユニットテストはコンパイルが通らないです.
B、IDEAにSpringの項目依存を設定する(Spring-core、Spring-beans、Spring-context、Spring-expressionのこれらのmoduleを設定すればいい):
C、pom.xmlには、comons-logingの依存性を導入する必要があります.そうでないと、コンパイルレポートにロギングFactoryのエラーが見つからないです.静的リソースパスを設定します.(そうでないと、xmlを読み込む時、パスが見つからないです.)
4.0.0
com.hxl
spring-debug
1.0-SNAPSHOT
spring-debug
http://www.example.com
UTF-8
1.8
1.8
junit
junit
4.12
test
commons-logging
commons-logging
1.2
src/main/resources
true
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-jar-plugin
3.0.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
D、Springの設定と簡単なSpringコードの作成
簡単な登録インターフェースを作成します.
public interface ILogin {
String loginCheck(String userName,String password);
}
実現クラスがあります.
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class LoginImpl implements ILogin {
String id = "";
@Autowired(required = false)
public void setId(String id) {
this.id = id;
}
@Override
public String loginCheck(String userName, String password) {
System.out.println("boy ...");
return "success";
}
}
その後、このbeanを構成に登録する(経路spring-debug/src/spring-config.xml):
最後に呼び出しコードを作成します.import com.boy.login.ILogin;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* Hello world!
*/
public class App {
public static void main(String[] args) {
// ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring-config.xml");
String XMLPath = "//Users/sky/Java/spring-framework/spring-debug/src/spring-config.xml";
ApplicationContext applicationContext = new FileSystemXmlApplicationContext(XMLPath);
ILogin login = (ILogin) applicationContext.getBean("loginService");
login.loginCheck("boy", "123");
}
}
その後、Debugを行うことができますし、Springソースの内部にDebugを行うことができます.