Struts2 使用JDBCAPI的Spring安全示例

Struts2 使用JDBCAPI的Spring安全示例,struts2,spring-security,Struts2,Spring Security,我下载了使用hibernate的appfuse struts2+spring security。 我想知道如何将其转换为JDBCAPI,或者提供使用简单JDBCAPI开发的其他示例 谢谢我认为这是很容易实现的。您只需要编写“GenericDao”接口的实现。Appfuse提供了名为“GenericDaoHibernate”的GenericDao hibernate实现,我鼓励您使用它。无论如何,这就是我的建议: 创建一个名为…dao.jdbc的包 为名为 上面包中的“GenericDaoJdbc

我下载了使用hibernate的appfuse struts2+spring security。 我想知道如何将其转换为JDBCAPI,或者提供使用简单JDBCAPI开发的其他示例


谢谢

我认为这是很容易实现的。您只需要编写“GenericDao”接口的实现。Appfuse提供了名为“GenericDaoHibernate”的GenericDao hibernate实现,我鼓励您使用它。无论如何,这就是我的建议:

  • 创建一个名为…dao.jdbc的包
  • 为名为 上面包中的“GenericDaoJdbc”。在代码部分,它可能最初看起来像下面这样
  • 然后,您可以通过getJdbcTemplate()使用jdbcTemplate实例继续实现其余的接口方法
  • 公共类GenericDaoJdbcTemplate
    实现GenericDao{
    @自动连线
    私有数据源;
    私有JdbcTemplate JdbcTemplate;
    受保护的最终日志日志=LogFactory.getLog(getClass());
    私有类persistentClass;
    公共GenericDaoJdbcTemplate(最终类persistentClass){
    this.persistentClass=persistentClass;
    }
    受保护的JdbcTemplate getJdbcTemplate(){
    if(jdbcTemplate==null)返回新的jdbcTemplate(dataSource);
    返回jdbc模板;
    }
    @凌驾
    公共列表getAll(){
    //TODO自动生成的方法存根
    返回null;
    }
    ...
    
    }


    为什么您需要JDBCAPI以及hibernate有什么问题?感谢您的快速响应。我没有hibernate方面的经验,所以我希望使用jdbc API来完成这项工作。AppFuse使用了三种结构,包括数据层、服务层和web层。还需要一层,这是一个跨所有其他层的安全层。Hibernate在数据层非常流行,但是您可以选择任何其他ORM框架。
    public class GenericDaoJdbcTemplate<T, PK extends Serializable> 
                                  implements GenericDao<T, PK> {
      @Autowired
      private DataSource dataSource;
      private JdbcTemplate jdbcTemplate;
    
      protected final Log log = LogFactory.getLog(getClass());
      private Class<T> persistentClass;
    
      public GenericDaoJdbcTemplate(final Class<T> persistentClass) {
            this.persistentClass = persistentClass;
      }
    
      protected JdbcTemplate getJdbcTemplate(){
          if (jdbcTemplate == null) return new JdbcTemplate(dataSource);
    
          return jdbcTemplate;
      }
    
      @Override
      public List<T> getAll() {
          // TODO Auto-generated method stub
          return null;
      }
      ...