Springにbeanを組み立てる3つの主要な方法

2887 ワード

1.自動化配置
package com.springinaction.test;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration//  spring       
@ComponentScan//    
public class CDPlayerConfig {

}
package com.springinaction.test;

import org.springframework.stereotype.Component;

@Component
public class SgtPeppers implements CompactDisc{//CompactDisc     

	private String title = "Sgt. Pepper's Linel Hearts Cloub Band";
	private String artist = "The Beatles";
	
	@Override
	public void play() {
		System.out.println("Playing " + title + " by " + artist);
	}

}
2.javaの表示構成に基づいて:javaでbeanを宣言するには、一つの方法が必要です.
package com.springinaction.test;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CDPlayerConfig {

	@Bean//@Bean   Spring           ,       Spring       bean
	public CompactDisc sgtPeppers(){
		return new SgtPeppers();
	}
}
package com.springinaction.test;

import org.springframework.stereotype.Component;

//     
public class SgtPeppers implements CompactDisc{

	private String title = "Sgt. Pepper's Linel Hearts Cloub Band";
	private String artist = "The Beatles";
	
	@Override
	public void play() {
		System.out.println("Playing " + title + " by " + artist);
	}

}
3.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"
	xmlns:Context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"
    >
	<!--   bean  -->
	<bean id="compactDisc" class="com.springinaction.test.CompactDisc"/>
	<bean id="cdPlayer" class="com.springinaction.test.CdPlayer">
        <!--        CompactDisc   -->
        <constructor-arg ref="compactDisc"/>
    </bean>
	</beans>
は、スキャン方式を採用するにもかかわらず、これらの技術は、Springアプリケーションにおけるコンポーネントとこれらのコンポーネントとの関係を説明する.
できるだけ自動化された配置を使用して、表示構成によるメンテナンスコストを避けることを提案します.
もし配置Springを表示する必要があるなら、Javaベースの構成を優先的に選択しなければならない.XMLベースの構成よりも強くて、タイプが安全で再現しやすい.