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); } }
結果