面试题
1.有哪些不同类型的IOC(依赖注入)方式?解释说明下? 基于Setter注入 对于习惯了传统 javabean 开发的程序员,通过 setter 方法设定依赖关系更加直观。 如果依赖关系较为复杂,那么构造子注入模式的构造函数也会相当庞大,而此时设值注入模式则更为简洁。 如果用到了第三方类库,可能要求我们的组件提供一个默认的构造函数,此时构造子注入模式也不适用。 基于构造器注入 在构造期间完成一个完整的、合法的对象。所有依赖关系在构造函数中集中呈现。 依赖关系在构造时由容器一次性设定,组件被创建之后一直处于相对“不变”的稳定状态。 只有组件的创建者关心其内部依赖关系,对调用者而言,该依赖关系处于“黑盒”之中。 p命名空间注入 使用属性而不是子元素的形式配置Bean的属性,从而简化了配置代码。 使用前要在spring配置文件中引入p命名空间 xmlns:p="http://www.springframework.org/schema/p" 2.最佳实践中,通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就