Javaの美[菜々鳥から達人になるまで]のスプリングフレームは初めて知っています.

3874 ワード

ファーストクラスJavaオープンソースフレーム---Spring
作者:エグ
マイクロブログ:http://weibo.com/xtfggef
出典:http://blog.csdn.net/zhangerqing
springは軽量級Javaフレームであり、そのコア思想はDI(Dependency Injection)とIoC(Inversion of Control)であり、そのオープンソースと低侵入性のため、現在は既に多くの市場を席巻しており、その最大のライバルはJavaEEフレームEJBである.EJB 3.0以前は、その鈍重さと煩雑さのために、人々に捨てられて、代わりにspringですが、springにはその限界があります.springは分布式に対する支持がよくないです.しかし、EJBはこの点で優れています.また、EJB 3.0は操作を簡略化して、煩雑ではなく、競争力をさらに向上させます.したがって、現在のライト級Java Webプロジェクトは、多くのspringを使用しており、我々はそれを学ぶ必要があります!この章はJavaの美しさです.「初心者から上級者まで」シリーズのスプリングフレームは初めて知っています.皆さんと一緒に、もう一度Springの基礎知識を振り返って、積極的に貴重な意見と提案を提出してください.今回の学習はSpring 4.1バージョンを使用します.
Modules

この図からSpringの全体構造が見られます.主に六つのモジュールに分けられます.
Core Cotainer
コア部分は4つの大きな塊に分けられ、スプリングコークス、スプリングコークス、スプリングコークス、スプリング-context、spring-expression.ここでcoreとbeanは全体のフレームの核心であり、基礎DIとIoC機能を提供しています.Contextはcoreとbeansモジュールの上に構築され、JNDIと同様にフレームワークでオブジェクトを操作する方式を提供する.Contectモジュールはbeansモジュールからその機能を継承しながら国際化サポートを追加しました.資源結合など、同時に、ContectモジュールもJavaEE機能をサポートしています.Apple Contectインターフェースはcontextモジュールの焦点です.expressionは強力なexpression langageで、実行時の照会と操作対象の属性をサポートします.私たちは後の文章の中でいくつかの例を挙げてspring expression laggeの使い方を説明します.
AOP and instruction
Aopモジュールは、断面プログラミングの実現とAsppectJ統合を提供する.
Messaging
Messagingはspring 4の新しく増加するモジュールで、一部の主要なmessageに基づく応用の実現を含んでいます.
Data Access/Integration
Data accessは名前の通り、springがデータ層に提供するサポートで、機能が豊富なモジュールです.JDBC、事物、ORM、JMSなど一連の実現を提供しています.
Web
Webモジュールは、主にウェブ向けのいくつかのインプリメンテーションを提供しており、例えば、マルチファイルアップロード、servletモニタ、およびspring mvc方面のサポートを提供している.
Test
Testモジュールは主にスプリングの各モジュールに対して様々なテストを行い、セルテスト、集積テストなどを含む.
各モジュールの具体的な解釈と役割については、後の文章の中で一つ一つ言及します.興味のある方は自分でスプリング公式文書を見に行って、より詳細な説明を得てください.
最初のSpringウィジェット
新しいUserクラス、UserDaoクラス、およびテストクラス:
User.java
package com.adam.java.spring.po;

public class User {
	private String name;
	private int age;
	private int score;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	
	public String toString(){
		return "tostring from user";
	}
}
UserDao.java
package com.adam.java.spring.dao;

import com.adam.java.spring.po.User;

public class UserDao {
	private User user;
	
	public void add(){
		System.out.println("add from userdao");
		System.out.println(user.toString());
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	
}
DITest.java
package com.adam.java.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.adam.java.spring.dao.UserDao;

public class DITest {

	@SuppressWarnings("resource")
	public static void main(String[] args) {
		ApplicationContext atx = new ClassPathXmlApplicationContext("beans.xml");
		UserDao userDao = (UserDao) atx.getBean("userDao");
		userDao.add();
	}

}
のプロファイルbeans.xml





	


テストクラスを実行して、次のような出力が得られます.
add from userdao
tostring from user