【疑问】关于IOC容器设计的疑惑

看了网上对于IOC容器优点讨论的很多,但是仍是没有切身体会,拿来使用的时候,发现有以下疑惑:

1、某个bean的属性或者依赖的构造参数,不适合定义为一个bean该怎么办。
在使用ioc的时候,对于引用,基本上都是定义为引用其他bean。但是在项目中,bean依赖的某些引用类型参数确实不适合做成一个bean,这时该如何处理。
能想到的就是,获取bean的时候传入运行时参数。类似于如下定义
public Object getBean(Object key, Object ... runtimeParas);
但是根据上面的处理后,发现又会有如下问题---即某个bean所依赖的bean也需要传入运行时参数,这样就无法完成自动装配~

2、对于ioc容器定义的时候是否定义一些全局的上下文,供所有的bean使用呢,类似于如下定义
public Object getIocContext(String contextKey);

第一个问题:如果你发现你的bean不适合ioc管理,那么只能说明你的代码不够标准,或者说不符合ioc的要求,请重构。特别是Spring2.5以后bean类型都可以定了,我真想不通还有什么理由不适合ioc管理。
对于第二点:这个需求是有的,比如在Spring与其他web MVC框架集成的时候在控制器中调用Spring IOC 管理的bean就要通过Spring 的Context获取。如果你想自己实现一套IOC而不是使用Spirng的IOC,那么你至少应该知道IOC其实就是一个工厂模式你给这个工厂一个bean的名字,它传给你一个产品(bean),它怎么知道传什么呢?显然是通过getApplicationContext这种方式。