1つは、春のフレームワークの概要です
Springは、ビジネスロジックレイヤーと他のレイヤーの間の緩い結合の問題を解決するため、システムアプリケーション全体にインターフェイス指向のプログラミングアイデアを適用します。Springは、2003年に登場し、RodJohnsonによって作成された軽量のJava開発フレームワークです。簡単に言えば、Springは階層型JavaSE / EEフルスタック(ワンストップ)軽量オープンソースフレームワークです。
2つ目は、スプリングフレームワークの利点です。
1.デカップリングを容易にし、開発を簡素化します。2。アスペクト指向プログラミング(AOP)を
サポートします。3。宣言的トランザクション処理をサポートします。手動なしでトランザクション管理を構成するだけで済みます。4。コンビニエンステスト。SpringはJunitをサポートし、注釈を介してSpringプログラムをテストできます。5。優れたフレームワークを統合すると便利です。6。APIの使用の難しさが軽減されます。
3、春のコアテクノロジー
(1)IOCとは
IOC:制御の反転、オブジェクト作成の権利のスプリングフレームワークへの反転は、コンピューターコード間の結合を減らすために使用できるオブジェクト指向プログラミングの設計原則です。
1.IOCプログラムの開始
最初のステップ:mavenウェアハウスjavaプロジェクトを作成します
。2番目のステップ:座標を導入します①spring-context②commons-logging③log4j④junit
の4つの主要なjarパッケージ:
①SpringBeans:構成ファイルへのアクセス、Beanの作成と管理など、すべてのアプリケーションはSpringIOCの基本的な実装です。中古。
②春のコンテキスト:基本的なIOC機能の拡張サービスを提供します。さらに、メールサービス、タスクスケジューリング、JNDIポジショニング、EJB統合、リモートアクセス、キャッシング、複数のビューレイヤーフレームワークのサポートなど、多くのエンタープライズレベルのサービスのサポートも提供します。
③SpringCore:Springのコアツールキット、他のパッケージはこのパッケージに依存します
④spring-expression-3.1.0.RELEASE.jar
ステップ3:log4jファイルをインポートします
ステップ4:インターフェイスメソッドを使用してビジネスレイヤーと永続レイヤーを作成します
ステップ5:そして、(オブジェクトを作成するメソッドを使用して)テストクラスを呼び出し、
次に新しいメソッドIOCを使用します
。1.1最初にapplicatinContext.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">
<!--IOC管理bean-->
<bean id="userService" class="demo.serviceImpl" />
</beans>
1.2テストクラスの作成
手順:①スプリングファクトリを作成します;②コンテナから取得します;③メソッドを呼び出します
@Test
public void run(){
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
Service service = (Service) ac.getBean("userService");
service.save();
2.IOCテクノロジーの概要
工場のインターフェースであるApplicationContextインターフェースは、このインターフェースを使用して特定のBeanオブジェクトを取得します。このインターフェイスには、2つの特定の実装クラスがあります。
ClassPathXmlApplicationContext(クラスパスの下にスプリング構成ファイルを
ロードします)FileSystemXmlAppLicationContext(ローカルディスクの下にスプリング構成ファイルをロードします)
3.SpringフレームワークのBean管理構成ファイルモード
id属性、Beanの名前、IDの制約は、制約で使用されます、一意の、値の要件:文字で始まる必要があり、文字、数字、ハイフン、下線、文、コロンを使用できますid:特別な文字は表示できません。
クラス属性、Beanオブジェクトのフルパス。
scope属性、scope属性は、Beanのスコープを表します。
シングルトンシングルトン(デフォルト)、最も一般的に使用される方法。
プロトタイプの複数の
リクエストがWebプロジェクトで使用され、各HTTPリクエストが新しいBean
セッションを作成します。Webプロジェクトでは、同じHTTPセッションがBeanを共有し
ます。Beanオブジェクトの2つのプロパティが作成および破棄されます。構成
手順:Spring初期化Bean Beanが破棄または破棄されると、何らかの処理作業が必要になる場合があるため、
Springは、Beanの作成および解体時にBeanの2つのライフサイクルメソッドinit-methodを呼び出すことができ、Beanがコンテナにロードされるときにinit-method属性が呼び出されます。メソッド
destroy-method、Beanがコンテナから削除されたときに、destroy-method属性で指定されたメソッドを呼び出します
4.Beanオブジェクトをインスタンス化する3つの方法
デフォルトはパラメータなしの構築方法です(デフォルトの方法、基本的に使用されます)
<bean id="userService" class="demo.serviceImpl" />
静的ファクトリインスタンス化メソッド
インスタンスファクトリインスタンス化メソッド
(2)DI依存性注入とは
DI:依存関係の挿入。SpringフレームワークがBeanオブジェクトの作成を担当する場合、依存関係のあるオブジェクトをBeanコンポーネントに動的に挿入します。
1.属性のsetメソッドが値を挿入します
属性を書き込み、属性に対応するsetメソッドを提供し、構成ファイルを書き込んで属性値の挿入を完了します
// 编写成员属性,一定需要提供该属性的set方法
private OrderDao orderDao;
// 一定需要提供该属性的set方法,IOC容器底层就通过属性的set方法方式注入值
public void setOrderDao(OrderDao orderDao) {
this.orderDao = orderDao;
}
// 消息
private String msg;
// 年龄
private int age;
public void setMsg(String msg) {
this.msg = msg;
}
public void setAge(int age) {
this.age = age;
}
構成ファイル
<bean id="os" class="cn.tx.service.OrderServiceImpl">
<property name="orderDao" ref="od" />
<property name="msg" value="你好" />
<property name="age" value="30" />
</bean>
2.属性構築方法注入値
クラスメンバー変数の場合、コンストラクターインジェクション。
public class Car {
// 名称
private String cname;
// 金额
private Double money;
public Car(String cname, Double money) {
this.cname = cname;
this.money = money;
}
@Override
public String toString() {
return "Car{" +
"cname='" + cname + '\'' +
", money=" + money +
'}';
}}
構成ファイル
<bean id="car" class="cn.tx.demo2.Car">
<constructor-arg name="cname" value="大奔" />
<constructor-arg name="money" value="400000" />
</bean>
3.配列、セット(リスト、セット、マップ)プロパティなどの挿入。
// 数组
private String [] strs;
public void setStrs(String[] strs) {
this.strs = strs;
}
private List<String> list;
public void setList(List<String> list) {
this.list = list;
}
private Map<String,String> map;
public void setMap(Map<String, String> map) {
this.map = map;
}
private Properties properties;
public void setProperties(Properties properties) {
this.properties = properties;
}
構成ファイル
<!--给集合属性注入值-->
<bean id="collectionBean" class="cn.tx.demo3.CollectionBean">
<property name="strs">
<array>
<value>美美</value>
<value>小凤</value>
</array>
</property>
<property name="list">
<list>
<value>亮亮</value>
<value>建云</value>
</list>
</property>
<property name="map">
<map>
<entry key="aaa" value="聪聪"/>
<entry key="bbb" value="淞铭"/>
</map>
</property>
<property name="properties">
<props>
<prop key="username">root</prop>
<prop key="password">123456</prop>
</props>
</property>
</bean>
4.複数の構成ファイルをロードする方法
別の構成ファイルがsrcディレクトリに作成されます。これが2つのコア構成ファイルです。これら2つの構成ファイルをロードする方法は2つあります。
①②<import resource="applicationContext2.xml"/>
工場作成時に複数の構成ファイルを直接ロードする
次のセクション:
リンク:Springフレームワークの重要な知識ポイントの要約(2)。