ruwebframe 0.1.0

A brief description of your crate.
Documentation
use ctor::ctor;
use rudi::{Context, Transient};

use ruwebframe::rudomain::dbexample;
use ruwebframe::rulog::rulog;

#[allow(dead_code)]
#[allow(unused_variables)]
#[allow(unused_doc_comments)]
fn main() {
    rulog::info("Hello, world!");

    let person = dbexample::Person::new_as(11222111, String::from("Alice"), 123, true);
    // 将结构体转换为 JSON 字符串
    let json_string = serde_json::to_string(&person).unwrap();
    rulog::info(json_string.as_str());

    // 从 JSON 字符串反序列化回结构体
    let p: dbexample::Person = serde_json::from_str(json_string.as_str()).unwrap();
    println!("p:{}", p);
    // 输出: Person { name: "Alice", age: 30, active: true }

    rulog::info(p.to_string().as_str());
  
    println!("服务已启动,按 Ctrl+C 退出");
    let (tx, rx) = std::sync::mpsc::channel();
    ctrlc::set_handler(move || {
        tx.send(()).unwrap();
    })
    .unwrap();
    // 阻塞主线程,等待信号
    rx.recv().unwrap();
    println!("正在关闭...");
    // 从全局静态的 Context 中获取依赖

}
#[derive(Debug)]
#[Transient]
struct App {
    version: String,
}