版权声明:本文为本人辛苦原创文章,如果需要转载,请注明出处,谢谢!!!
目录(?)[+]
Struts2导入jar包:
* struts2/apps/struts2-blank.war/WEB-INF/lib/*.jar
导入与spring整合的jar
* struts2/lib/struts2-spring-plugin-2.3.15.3.jar--- 整合Spring框架
* struts2/lib/struts2-json-plugin-2.3.15.3.jar--- 整合AJAX
* struts2/lib/struts2-convention-plugin-2.3.15.3.jar--- 使用Struts2注解开发.
Spring导入jar包:
Spring3.2 开发最基本jar包
spring-beans-3.2.0.RELEASE.jar
spring-context-3.2.0.RELEASE.jar
spring-core-3.2.0.RELEASE.jar
spring-expression-3.2.0.RELEASE.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
AOP开发
spring-aop-3.2.0.RELEASE.jar
spring-aspects-3.2.0.RELEASE.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
Spring Jdbc开发
spring-jdbc-3.2.0.RELEASE.jar
spring-tx-3.2.0.RELEASE.jar
Spring事务管理
spring-tx-3.2.0.RELEASE.jar
Spring整合其他ORM框架
spring-orm-3.2.0.RELEASE.jar
Spring在web中使用
spring-web-3.2.0.RELEASE.jar
Spring整合Junit测试
spring-test-3.2.0.RELEASE.jar
hibernate的jar包导入:
* 核心包:hibernate3.jar
* lib/required/*.jar
* lib/jpa/*.jar
* 引入hibernate整合日志系统的jar包:
* 数据连接池:
* 数据库驱动:
二级缓存:(可选的.)
* backport-util-concurrent.jar
* commons-logging.jar
* ehcache-1.5.0.jar
2 配置文件
2.1 web.xml
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
2.2 struts.xml
2.3 加入配置文件
applicationContext.xml
Log4j.properties
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:/mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=info, stdout
Hibernate的配置:
hibernate.cfg.xml
com.mysql.jdbc.Driver
jdbc:mysql:///ssh1
root
123
org.hibernate.dialect.MySQLDialect
true
true
false
update
org.hibernate.connection.C3P0ConnectionProvider
5
20
120
3000
映射:
格式:类名.hbm.xml
3.1.新建包结构:
com.sihia.action
com.sihia.service
com.sihia.dao
com.sihia.vo
3.2创建实体类:
Book
package com.sihia.vo;
public class Book {
private Integer id;
private String name;
private Double price;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
3.3.新建一个jsp页面:
addBook.jsp
图书名称:
图书价格:
3.4.编写Action:
public class BookAction extends ActionSupport implements ModelDriven{
// 模型驱动类
private Book book = new Book();
public Book getModel() {
return book;
}
// 处理请求的方法:
public String add(){
System.out.println("web层的添加执行了...");
return NONE;
}
}
3.5.配置struts.xml
可以在
在spring的配置文件中:
注意:Action交给Spring管理一定要配置scope=”prototype”
传统方式:
* 获得WebApplicationContext对象.
* 通过WebAppolicationContext中getBean(“”);
实际开发中:
* 引入了struts2-spring-plugin-2.3.15.3.jar
* 有一个配置文件 : struts-plugin.xml
开启常量 :
引发另一个常量的执行:(Spring的工厂类按照名称自动注入)
struts.objectFactory.spring.autoWire = name
Spring整合Hibernate框架的时候有两种方式:
可以在Spring中引入Hibernate的配置文件.
1.通过LocalSessionFactoryBean在spring中直接引用hibernate配置文件
2.Spring提供了Hibernate的模板.只需要将HibernateTemplate模板注入给DAO.
DAO继承HibernateDaoSupport.
改写DAO:继承HibernateDaoSupport类.
public class BookDao extends HibernateDaoSupport{
public void save(Book book) {
System.out.println("DAO层的保存图书...");
this.getHibernateTemplate().save(book);
}
}
3.创建一个映射文件 :
4.别忘记事务管理:
事务管理器:
5.注解管理事务:
6.在业务层类上添加一个注解:
@Transactional
不需要Hibernate配置文件的方式,将Hibernate配置文件的信息直接配置到Spring中.
Hibernate配置文件中的信息 :
* 连接数据库基本参数:
* Hibernate常用属性:
* 连接池:
* 映射:
把Hibernate配置文件整合Spring中:
连接池:
Hibernate常用属性:
org.hibernate.dialect.MySQLDialect
true
true
update
false
映射
Serializable save(Object entity) :保存数据
void update(Object entity) :修改数据
void delete(Object entity) :删除数据
List find(String queryString, Object... values) :支持HQL查询.直接返回List集合.
List findByCriteria(DetachedCriteria criteria) :离线条件查询.
List findByNamedQuery(String queryName, Object... values):命名查询的方式.