프로그램/FLUTTER

[Flutter] 플러터 get_it 설정 및 사용하기

프뚜 2023. 9. 4. 10:00
728x90
반응형
SMALL

안녕하세요! 프뚜입니다.

get_it에 대해 포스팅합니다.


OS: Windows 10

Dart: Dart SDK version: 3.0.6 (stable) (Tue Jul 11 18:49:07 2023 +0000) on "windows_x64"

Flutter: Flutter 3.10.6


# get_it 연동하기

flutter pub add get_it

프로젝트에서 위 명령어를 실행합니다.


# get_it에 등록 할 repository 생성하기

import 'package:johdaetgoo_flutter/main.dart';

abstract class SubscriberRepository {
  Object load();
}

class SubscriberRepositoryImpl extends SubscriberRepository {
  @override
  Object load() async {
    logger.d('load');
  }
}

get_it에 사용 할 레포지토리를 생성합니다.


# get_it 세팅 및 등록하기

import 'package:get_it/get_it.dart';
import 'package:johdaetgoo_flutter/pages/subscriber/repositories/subscriber_repository.dart';

final sl = GetIt.instance;

class ServiceLocator {
  static void init() {
    // 2023.08.25[holywater]: 싱글톤 Repository 연결
    sl.registerLazySingleton<SubscriberRepository>(() => SubscriberRepositoryImpl());
    
    // 2023.08.25[holywater]: Bloc 연결(다음 포스팅에 사용됨)
    // sl.registerFactory(() => SubsriberBloc(sl()));
  }
}

생성한 레포지토리를 get_it에 등록합니다.

 

void main() async {
  ...
  
  // 2023.08.25[프뚜]: 싱글톤(repository) 연결
  ServiceLocator.init();
  
  ...
}

main.dart 파일의 main 함수에 init을 추가합니다.


Java의 싱글톤처럼 레포지토리를 등록하고 GetIt을 통해 사용할 수 있습니다.

728x90
반응형
LIST