ruwebframe 0.1.8

a simple webframe for rust actix-web, based on rudi and rbatis.
Documentation
 
use container::Container;
use ruwebframe::database::Database;
use ruwebframe::rudi::dicontainer::container;


#[derive(Debug)]
struct Logger {
    id: usize,
}

impl Logger {
    fn new() -> Self {
        use std::sync::atomic::{AtomicUsize, Ordering};
        static COUNTER: AtomicUsize = AtomicUsize::new(0);
        let id = COUNTER.fetch_add(1, Ordering::SeqCst);
        println!(">>> Logger::new() 第 {}", id);
        Self { id }
    }
}

#[test]
fn test_01_rucontainer() {
    let mut container = Container::new();

    // 1. 注册多例:每次 get 都创建新的 Database
    container.register("db", Database::new);

    // 2. 注册单例:Logger 只会被创建一次
    container.register_singleton("logger", Logger::new);


    println!("--- 第一次 get logger ---");
    let log1 = container.get_singleton::<Logger>("logger").unwrap();
    println!("log1: {:?}\n", log1);
  
}