扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

idea鎬庝箞鐢熸垚spring閰嶇疆鏂囦欢

扬州沐宇科技
2023-09-22 23:31:03
idea, spring

鐢熸垚Spring閰嶇疆鏂囦欢鐨勪竴绉嶅父瑙佹柟娉曟槸浣跨敤Spring鐨凧avaConfig銆侸avaConfig鍏佽鎮ㄤ互Java绫荤殑褰㈠紡缂栧啓閰嶇疆锛岃€屼笉鏄娇鐢╔ML鎴栧睘鎬ф枃浠躲€?/p>

涓嬮潰鏄娇鐢↗avaConfig鐢熸垚Spring閰嶇疆鏂囦欢鐨勬楠わ細

  1. 鍒涘缓涓€涓狫ava绫伙紝鐢ㄤ簬瀹氫箟Spring鐨勯厤缃被銆傝繖涓被闇€瑕佷娇鐢ˊConfiguration娉ㄨВ鏉ユ爣璇嗗畠鏄竴涓厤缃被銆?/p>

  2. 鍦ㄩ厤缃被涓紝浣跨敤@Bean娉ㄨВ鏉ュ畾涔塖pring瀹瑰櫒涓殑bean銆傚彲浠ラ€氳繃鏂规硶鍚嶆潵鎸囧畾bean鐨勫悕绉帮紝鏂规硶鐨勮繑鍥炵被鍨嬪氨鏄痓ean鐨勭被鍨嬨€?/p>

  3. 鍦ㄦ柟娉曚綋涓紝鍙互浣跨敤鍏朵粬鐨凷pring娉ㄨВ鏉ラ厤缃産ean鐨勫睘鎬э紝渚嬪@Autowired銆丂Value绛夈€?/p>

  4. 鍙互鍦ㄩ厤缃被涓娇鐢ˊImport娉ㄨВ鏉ュ紩鍏ュ叾浠栫殑閰嶇疆绫伙紝浠庤€屽疄鐜伴厤缃殑妯″潡鍖栥€?/p>

  5. 鍙互浣跨敤@ComponentScan娉ㄨВ鏉ヨ嚜鍔ㄦ壂鎻忔寚瀹氬寘涓嬬殑缁勪欢锛屽苟灏嗗畠浠敞鍐屼负Spring瀹瑰櫒涓殑bean銆?/p>

  6. 褰撻厤缃被缂栧啓瀹屾垚鍚庯紝鍙互鍦⊿pring鐨勫簲鐢ㄧ▼搴忎富绫讳腑閫氳繃@Configuration娉ㄨВ鏉ュ紩鍏ラ厤缃被锛屼粠鑰屽姞杞介厤缃€?/p>

  7. 鏈€鍚庯紝鍙互浣跨敤AnnotationConfigApplicationContext绫绘潵瀹炰緥鍖朣pring瀹瑰櫒锛屽苟浣跨敤瀹瑰櫒鏉ヨ幏鍙栧拰浣跨敤閰嶇疆濂界殑bean銆?/p>

涓嬮潰鏄竴涓畝鍗曠殑绀轰緥锛?/p>

@Configuration
public class AppConfig {
@Bean
public UserService userService() {
return new UserServiceImpl();
}
@Bean
public UserRepository userRepository() {
return new UserRepositoryImpl();
}
@Bean
public DataSource dataSource() {
// 閰嶇疆鏁版嵁婧?/span>
}
}
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
UserService userService = context.getBean(UserService.class);
// 浣跨敤userService
context.close();
}
}

鍦ㄤ笂杩扮ず渚嬩腑锛孉ppConfig绫绘槸涓€涓厤缃被锛屽畾涔変簡涓変釜bean锛歶serService銆乽serRepository鍜宒ataSource銆侻ain绫绘槸搴旂敤绋嬪簭鐨勪富绫伙紝浣跨敤AnnotationConfigApplicationContext绫绘潵鍔犺浇閰嶇疆锛屽苟鑾峰彇userService鐨勫疄渚嬨€?/p>

褰揝pring瀹瑰櫒鍚姩鏃讹紝瀹冨皢鑷姩鎵弿AppConfig绫伙紝骞跺垱寤哄搴旂殑bean銆傚彲浠ュ湪bean鏂规硶涓娇鐢ㄥ叾浠栫殑Spring娉ㄨВ鏉ラ厤缃産ean鐨勫睘鎬э紝渚嬪@Autowired娉ㄨВ鍙互鑷姩娉ㄥ叆渚濊禆銆?/p>

閫氳繃杩欑鏂瑰紡锛屾偍鍙互鏂逛究鍦颁娇鐢↗ava鏉ョ敓鎴怱pring閰嶇疆鏂囦欢锛岃€屾棤闇€缂栧啓澶嶆潅鐨刋ML鏂囦欢銆傚悓鏃讹紝JavaConfig杩樻彁渚涗簡鏇村ソ鐨勫彲璇绘€у拰缁存姢鎬с€?/p>

扫码添加客服微信