Spring注釈と発展過程を理解する.
9042 ワード
1.Spring注釈を知る
Springは現在最も人気のあるJavaフレームであり、その上に発展したSpringBoot、SpringCloudもたくさんの人が使っています.注釈を使う方式に慣れて開発しましたので、Spring注釈駆動の発展過程も分かります.
2.Spring注釈の発展過程
2.1 Spring 1.x注釈駆動啓蒙段階
この時Java 5がリリースされたばかりで、Annotationスタイルが流行しています.Spring 1.2は@Transactionと@ManagedResourceを提供していますが、この時Beanを搭載するのはXMLで構成されています. Spring 2.0は@Required、@Repository、@Asppectなどの を発展しました. Spring 2.5は非常に重要な注釈を提供しています.Autowired@Qualifierおよび@Component@Service@Controllerなどの注釈は、現在開発中に使用されている注釈です.この時SpringはXML化されていません.XMLに を配置する必要があります. Spring 3.0に@Configrationの注釈が提供されています.この場合、完全なXML化プロファイル が完了します.@ComponentScan(basePackage=")スキャンのパス を設定します.@Importは他の構成類を導入して搭載する @EnbaleXXXモジュール化可能な搭載eg:クイックオープンタイミングタスク
Spring 4 xは@Condtional注釈を提供しています.カスタム条件でビーンの初期化を完了することができます.
@IndexedはComponentScanスキャンの性能の詳細を上げるためにここSpring 5–@Indexed注を参照してください.
3.豆知識
3.1 Springはどのように循環依存を解決しますか?
クラスAとクラスBがサイクル依存なら原則Spring初期化Beanの順序は、最初に現在のBeanを初期化し、初期化依存Bean である. AでBに依存しています.まず初期化します.AにBがあることが分かりました.この時Aは半製品状態 です.初期化Bには、Aが半完成品のAオブジェクトをBに設定し、初期化が完了した がある.その後、Aは初期化を完了する .
4.まとめ
Spring 2.x注解駆動の発展の重要な時期に、多くの実用的な注釈を提供して、更に後に完全にXML配置に行って、性能を昇格させて、Springに更に人気があります!コード位置:tiger-spring-demo
Springは現在最も人気のあるJavaフレームであり、その上に発展したSpringBoot、SpringCloudもたくさんの人が使っています.注釈を使う方式に慣れて開発しましたので、Spring注釈駆動の発展過程も分かります.
2.Spring注釈の発展過程
2.1 Spring 1.x注釈駆動啓蒙段階
この時Java 5がリリースされたばかりで、Annotationスタイルが流行しています.Spring 1.2は@Transactionと@ManagedResourceを提供していますが、この時Beanを搭載するのはXMLで構成されています.
<bean name="DemoSerivce"
class="com.tiger.example.spring.v1.DemoService01"/>
2.2 Spring 2.x注解駆動発展の重要な段階<context:component-scan
base-package="com.tiger.example.spring.v2">context:component-scan>
2.3 Spring 3.x注解駆動のマイルストーン@Configuration
public class SpringConfiguration {
@Bean
public DemoService03 getDeDemoService03(){
return new DemoService03();
}
}
@Configuration
@Import(ImportConfiguration.class) // ImportConfiguration
public class SpringConfiguration {
@Bean
public DemoService03 getDeDemoService03(){
return new DemoService03();
}
}
@Configuration
public class ImportConfiguration {
@Bean
public ImportService getImportService(){
return new ImportService();
}
}
@Configuration
@EnableScheduling
public class ScheduleConfiguration {
@Bean
public ScheduleService getScheduleService(){
return new ScheduleService();
}
}
2.4 Spring 4.x注釈の改善段階Spring 4 xは@Condtional注釈を提供しています.カスタム条件でビーンの初期化を完了することができます.
@Configuration
public class SpringConfiguration {
// TigerCondition true ,
@Conditional(TigerCondition.class)
@Bean
public DemoService getDemoService(){
return new DemoService();
}
}
public class TigerCondition implements Condition {
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
// TODO
// false bean
//return false;
// true bean
return true;
}
}
2.5 Spring 5 x注釈の最適化段階@IndexedはComponentScanスキャンの性能の詳細を上げるためにここSpring 5–@Indexed注を参照してください.
3.豆知識
3.1 Springはどのように循環依存を解決しますか?
クラスAとクラスBがサイクル依存なら
4.まとめ
Spring 2.x注解駆動の発展の重要な時期に、多くの実用的な注釈を提供して、更に後に完全にXML配置に行って、性能を昇格させて、Springに更に人気があります!コード位置:tiger-spring-demo