一、applicationContext.xml存放问题:
方法一:默认在web-info下,此时不用配置;
方法二:当放在src下时配置web.xml文件:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
二、applicationContext.xml的拆分问题:
拆分策略:
公用配置+每个系统模块一个单独配置文件(包含dao、service、action)
公用配置+DAO Bean配置+业务逻辑Bean配置+Action Bean配置
使用方法一:applicationContext.xml添加下边内容
<import resource="applicationContext-dao.xml" />
<import resource="applicationContext-biz.xml" />
<import resource="applicationContext-action.xml" />
使用方法二:web.xml 多个之间用逗号,还可以使用通配符
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml,ap.xml</param-value>
</context-param>
一、Spring自动装配和依赖检查机制
1:自动装配:Spring可以根据属性类型、名称等自动进行注入
no 默认值。Spring 默认不进行自动装配,必须显式指定依赖对象
byName 根据属性名自动装配。Spring 自动查找与属性名相同的id,如果找到,则自动注入,否则什么都不做
byType 根据属性的类型自动装配。Spring 自动查找与属性类型相同的Bean,如果刚好找到唯一的那个,则自动注入;如果找到多个与属性类型相同的Bean,则抛出异常;如果没找到,就什么也不做
constructor 和byType 类似,不过它针对构造方法。如果Spring 找到一个Bean和构造方法的参数类型相匹配,则通过构造注入该依赖对象;如果找不到,将抛出异常
2:每个Bean可设置autowire属性,进行自动装配;同时可以为<beans>元素设置default-autowire属性,影响全局<bean>节点上autowire的设置
3.自动装配使得配置文件可以非常简洁,但同时也造成组件之间的依赖关系不明确,容易引发一些潜在的错误,在实际项目中要谨慎使用
4.依赖检查 :项目规模大的时候,byName方式更适合
5.依赖检查 :配置<bean>元素的dependency-check或<beans>元素的default-dependency-check属性可以设置为none、objects、simple、all等值
创建基于注解的SessionFactory
<bean >
<property name="packagesToScan">
<value>com.yh.ssh.entity</value>
</property>
</bean>