xmlns:xsi=\http://www.w3.org/2001/XMLSchema-instance\xmlns:p=\http://www.springframework.org/schema/p\
xmlns:tx=\http://www.springframework.org/schema/tx\
xmlns:context=\http://www.springframework.org/schema/context\
xsi:schemaLocation=\http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd\
transaction-manager=\hibernateTransactionManager\ 在spring3.02现在有个新特性可以让你用一个Java类当作一个bean标签来使用,所以spring的配置文件只需要写2句话就可以了如果要带上事务的话则3句,配置spring的代码如下: @Configuration public class BeanConfig { private static PropertiesFactory factory = PropertiesFactory.getInstance(); @Bean(name = { \ }) public BasicDaoIf @Bean(name = { \ }) public BasicDataSource dataSource() { BasicDataSource bds = new BasicDataSource(); bds.setDriverClassName((String) factory .getPropertyValueOrProperties(\)); bds.setUrl((String) factory.getPropertyValueOrProperties(\)); bds.setUsername((String) factory .getPropertyValueOrProperties(\)); bds.setPassword((String) factory .getPropertyValueOrProperties(\)); return bds; } @Bean(name = { \ }) public SessionFactory getSessionFactory() throws Exception { AnnotationSessionFactoryBean sessionFactoryBean = new AnnotationSessionFactoryBean(); sessionFactoryBean.setDataSource(this.dataSource()); sessionFactoryBean.setHibernateProperties((Properties) factory .getPropertyValueOrProperties(\)); String packagesToScan = (String) factory .getPropertyValueOrProperties(\); String[] packages = packagesToScan.split(\); if (null == packages) { sessionFactoryBean .setPackagesToScan(new String[] { packagesToScan }); } else { sessionFactoryBean.setPackagesToScan(packages); } sessionFactoryBean.afterPropertiesSet(); return sessionFactoryBean.getObject(); } @Bean(name = { \ }) public HibernateTemplate getHibernateTemplate() throws Exception { HibernateTemplate hibernateTemplate = new HibernateTemplate(); hibernateTemplate.setSessionFactory(this.getSessionFactory()); return hibernateTemplate; } @Bean(name = { \ }) public HibernateTransactionManager getHibernateTransactionManager() throws Exception { HibernateTransactionManager hibernateTransactionManager = new HibernateTransactionManager(); hibernateTransactionManager.setSessionFactory(this.getSessionFactory()); return hibernateTransactionManager; } } bean中有个地方需要读取properties所以还需要加入一个读取配置文件的工厂 PropertiesFactory: public class PropertiesFactory { private static final String FILE = \; private static PropertiesFactory propertiesFactory = new PropertiesFactory(); private InputStream in; private Properties p; public static PropertiesFactory getInstance() { return propertiesFactory; } /** * 创建一个新的实例 PropertiesFactory. * */ private PropertiesFactory() { super(); } public void init() { in = this.getClass().getClassLoader().getResourceAsStream(FILE); } public Object getPropertyValueOrProperties(final String property) { try { init(); p = new Properties(); p.load(in); if (StringUtils.isNotEmpty(property)) return p.getProperty(property); else return p; } catch (Exception e) { e.printStackTrace(); return null; } } springApplicationContext.properties: url:驱动地址 driverClassName:驱动名称 username:数据库名字 password:数据库密码 packages:spring要扫描的包以,多个以分割 # JDBC Config url=jdbc:mysql://localhost:3306/testUser driverClassName=com.mysql.jdbc.Driver username=root password=root #Hibernate Config hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.hbm2ddl.auto=update hibernate.format_sql=true hibernate.show_sql=true #Spring Config packages=org.lxh.bean [使用心得]maven2之m2eclipse使用手册之四编写通用Dao实例(四) 测试的bean: @Entity @Table(name=\) public class User extends AbstractBean{ private static final long serialVersionUID = -2512193728050258334L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public final Integer getId() { return id; } @Column(length=50,nullable=false) public String getUserid() { return userid; } @Column(length=1) public Integer getUsertype() { return usertype; } @Column(length=2) public Integer getRoleid() { return roleid; } @Column(length=50) public String getUseragent() { return useragent; } @Column(length=100) public String getNickname() { return nickname; } @Column(length=50) public String getName() { return name; } @Column(length=10) public String getSex() { return sex; } @Column(length=6) public Short getAge() { return age; } @Column(length=20) public String getCardid() { return cardid; } @Column(length=50) public String getEmail() { return email; } @Column(length=50) public String getPassword() { return password; } @Temporal(TemporalType.DATE) public Date getRgtime() { return rgtime; } @Temporal(TemporalType.DATE) public Date getUptime() {