春の注釈は - 効果を達成するためにapplicationContext.xmlを

 Springbootアジャイル開発の使用の増加、春の注釈の設定のより一層の活用ではなく、春のapplicationContext.xmlをファイル付き。

  • 設定に関する注意:春は、クラスコンフィギュレーションに解決、春プロファイルの同等
  • 豆注:登録ビーンコンテナコンポーネントは、デフォルトのIDは、メソッド名です。
@Configuration 
パブリッククラスのAppConfig { 
     @Bean 
     公共MyServiceでmyServiceという(){ 
        )(新しいMyServiceImplを返します。
     } 
}        

beans.xmlのファイルに相当

<豆> 
    <ビーンID = "MYSERVICE"クラス= "com.acme.services.MyServiceImpl" /> 
</豆>

1)applicationContext.xmlをファイル - パックスキャン

@ComponentScans(値= {@ComponentScan(値= "com.self"、excludeFilters = { 
                @Filter(タイプ = FilterType.ANNOTATION、クラス= {コントローラ。クラス})
        })
})
@Configuration 
パブリック クラスRootConfig { 
    
      // 测试豆
      @Bean
       公共人物人物(){
           返す 新しい( "工程师"、 "张励"、22人を)。
      } 
}

2)ファイルのインポートのプロパティ

@PropertySource(値= { "クラスパス:person.properties"})
@Configuration 
パブリッククラスMainConfigOfProperty { 

	@Bean 
	公衆人の人物(){ 
		新しい人物を返します()。
	} 
}

割り当て

Personクラス{公共

   @value( "PERSON.NAME $ {}")//プロファイルプロパティ
	プライベート文字列名; 

}

3)データソース

@ EnableTransactionManagement //开启基于注解的事务管理功能
@ComponentScan( "com.self.ds")
@Configuration 
パブリッククラスTxConfig { 
	
	//数据源
	@Bean 
	公共データソースデータソースは、()例外{スロー
		ComboPooledDataSourceのdataSource =新しいComboPooledDataSourceを(); 
		dataSource.setUser( "ルート"); 
		dataSource.setPassword( "000111"); 
		dataSource.setDriverClass( "はcom.mysql.jdbc.Driver"); 
		dataSource.setJdbcUrl( "JDBCます。mysql:// localhostを:3306 /自己"); 
		DataSourceを返します。
	} 
	
	 
	@Bean 
	公共JdbcTemplate jdbcTemplate()例外{スロー
		JdbcTemplate jdbcTemplate =新しいJdbcTemplate(データソース())。
		jdbcTemplateを返します。
	
	//事务管理器
	@Bean 
	公共PlatformTransactionManagerのTransactionManager(){例外をスロー
		新しいDataSourceTransactionManager(DataSourceを())を返します。
	} 
	

}

  

ユニットテスト

パブリッククラスIOCTest { 
	
	AnnotationConfigApplicationContextのApplicationContext =新しいAnnotationConfigApplicationContext(MainConfig.class)。  
	
	@Test 
	公共ボイドTEST02(){ 
		オブジェクトbean1 = applicationContext.getBean( "人物")。
		オブジェクトbean2 = applicationContext.getBean( "人物"); 
		System.out.println(bean1 == bean2)。
	} 
	
	@Test 
	公共ボイドTEST01(){ 
		オブジェクトビーン= applicationContext.getBean( "というパーソナライズ")。
		System.out.println( "结果:" +豆)。
	} 
	
	
	@Test 
	公共ボイド試験(){ 
		文字列[] beanDefinitionNames = applicationContext.getBeanDefinitionNames()。
		{(beanDefinitionNamesストリングbeanDef)のために
			System.out.println( "出力" + beanDef); 
		} 
		

}

結果

  

  

おすすめ

転載: www.cnblogs.com/walkwithmonth/p/11536486.html