1,环境搭建一个难点,
SSH准备工作:hibernate.cfg.xml,struts.xml,web.xml,applicationContext.xml(Spring的配置文件),
(net.xinqushi.action,各个包)
MysqlDialect这个是比较老的,如果你是用的mysql5,最好是用MySQL5Dialect,
后面的方言是针对mysql5的一些新特性做了一些优化的,更快了效率
1.1:Unable to find 'struts.multipart.saveDir' property setting. Defaulting to ja报错问题解决方法(如果没有用struts.properties文件,也可以在struts.xml中配置如下代码,效果一样:
<constant name="struts.multipart.saveDir" value="/tmp"/>)
2,struts.xml和 hibernate-cfg.xml放在src目录下
applicationContext.xml放在 WEB-INF目录下
3,以一个用户相册管理项目为案例,讲解Spring的 IOC,AOP,SSH整合开发,Spring mvc(能够代替struts)等内容。
4,添加UserAction,提供add方法,放在net.xinqushi.action包中,可以继承于ActionSupport,或者实现Action接口
5,public class UserAction {
User user;
UserDAO dao =new UserDAO();(user接受网页传过来的东西)
public class UserDAO {
Session session;
public void save(User user)
{
session=HibernateUtils.openSession();
session.beginTransaction();
session.merge(user);
session.getTransaction().commit();
session.close();
}
}
6,面向接口编程
1,面向接口编程
2,让程序可以不依赖于具体的实现
3,使用接口编程,易于程序扩展,降低程序耦合性
7,增加Service 接口层, 调用dao层的方法,为action提供服务
8,<bean name="mydao" class="net.xinqushi.dao.imp.UserDAOMySqlimp"></bean>(Spring生成一个对象new),
9,在spring容器(applicationContext.xml)中初始化对象的方法以及对象的装配
10,SSH上来首先会加载hibernate配置信息,结束的时候销毁hibernate配置信息,
在ssh整合开发时,action的产生过程现在对象的初始化就由spring来完成
inverse of control = 控制反转,
dependency injection = 依赖注入,
帮我们创建对象,帮我们组织和装配对象,
.自动装配,
autowire :byName,byType
default-autowire
11,
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="byName">
<bean name="dao" class="net.xinqushi.dao.imp.UserDAOFileimp"></bean>
<bean id="service"
class="net.xinqushi.service.impl.UserServiceImpl">
</bean>
</beans>
(注解方式配置spring,这些就不要了applic