zoukankan      html  css  js  c++  java
  • SSH 整合- 6 - service_serviceImp…

    0. 主要jar包

    antlr-2.7.6.jar
    aspectjrt.jar
    aspectjweaver.jar
    cglib-nodep-2.1_3.jar
    common-annotations.jar
    commons-collections-3.1.jar
    commons-dbcp.jar
    commons-fileupload-1.2.1.jar
    commons-io-1.3.2.jar
    commons-logging-1.1.jar
    commons-logging.jar
    commons-pool.jar
    dom4j-1.6.1.jar
    ejb3-persistence.jar
    freemarker-2.3.13.jar
    hibernate-annotations.jar
    hibernate-commons-annotations.jar
    hibernate3.jar
    javassist-3.9.0.GA.jar
    jta-1.1.jar
    log4j-1.2.15.jar
    mysql-connector-java-3.1.13-bin.jar
    ognl-2.6.11.jar
    slf4j-api-1.5.8.jar
    slf4j-log4j12-1.5.8.jar
    spring.jar
    struts2-core-2.1.6.jar
    struts2-spring-plugin-2.1.6.jar
    xwork-2.1.2.jar

    1. Web.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <!-- 添加struts2和spring整合的监听器 -->

    <listener>

    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    <!-- default: /WEB-INF/applicationContext.xml -->

    </listener>

    <!--

    配置struts2 读取spring配置文件的位置,默认是去WEB-INF目录下找名为applicationContext.xml的文件

    可以通过下面的标签“context-param”设置位置,classpath:beans.xml 标识类路径下的beans.xml文件

    -->

    <context-param>

    <param-name>contextConfigLocation</param-name>

    <!-- <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>  -->

    <param-value>classpath:beans.xml</param-value>

    </context-param>

     

    <filter>

    <filter-name>struts2</filter-name>

    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

    <filter-mapping>

    <filter-name>struts2</filter-name>

    <url-pattern>

    private static final long serialVersionUID = 1L;

     

    private int id;

    private String username;

    private String password;

    private String password2;

     

     

    private UserManager userManager;

     

     

    public UserManager getUserManager() {

    return userManager;

    }

     

     

    @Resource(name="userManagerImpl")

    public void setUserManager(UserManager userManager) {

    this.userManager = userManager;

    }

     

     

    @Override

    public String execute() throws Exception {

    User user = new User();

    user.setUsername(username);

    user.setPassword(password);

    if (userManager.exists(user))

    return "fail";

     

    userManager.insertOneUser(user);

    return "success";

    }

     

     

    public int getId() {

    return id;

    }

     

     

    public String getPassword2() {

    return password2;

    }

     

     

    public void setPassword2(String password2) {

    this.password2 = password2;

    }

     

     

    public void setId(int id) {

    this.id = id;

    }

     

     

    public String getUsername() {

    return username;

    }

     

     

    public void setUsername(String username) {

    this.username = username;

    }

     

     

    public String getPassword() {

    return password;

    }

     

     

    public void setPassword(String password) {

    this.password = password;

    }

    }

     

    4. UserManagerImpl.java

    package com.edu.ssh.service.impl;

     

    import javax.annotation.Resource;

     

    import org.springframework.stereotype.Component;

     

    import com.edu.ssh.dao.UserDAO;

    import com.edu.ssh.model.User;

    import com.edu.ssh.service.UserManager;

     

    // 用Component注解,使得本类交给spring容器管理,

    // 并且指定bean的名字为userManagerImpl

    @Component("userManagerImpl")

    public class UserManagerImpl implements UserManager {

     

     

    private UserDAO userDAO;

     

     

    public UserDAO getUserDAO() {

    return userDAO;

    }

     

     

    // 使用spring依赖注入

    @Resource

    public void setUserDAO(UserDAO userDAO) {

    this.userDAO = userDAO;

    }

     

     

    public boolean exists(User user) {

    return userDAO.checkUserExistsWithName(user.getUsername());

    }

     

     

    public void insertOneUser(User user) {

    userDAO.save(user);

    }

    }

     

     

    5. 结果

     

    SSH <wbr>整合- <wbr>6 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2+spring_02

     

     

    SSH <wbr>整合- <wbr>6 <wbr>- <wbr>service_serviceImpl+dao_daoImpl+struts2+spring_02

        

            整个整合的过程到此结束了。一步步来即使并不是很难,要注意jar别添加重复了。少了比多了好,重复了就很可能出现jar的相互相应,可能会出现一些莫名其妙的问题。

    在SSH里spring主要的功能是管理几乎所有的bean,实例化程序所有配置好的bean。有了spring Hibernate的所有配置都移到了spring的配置文件里,但是struts2的配置文件还是要单独配置。spring主要是管理程序的事务管理,是使用AOP实现的。

         更多的整合信息请看!

     

    这是一篇用图形界面整合SSH的文章

    http://bbx16899.blog.163.com/blog/static/171468589201131122311381/


    这篇是所各个jar包的作用:

    http://www.cnblogs.com/kaka-bing/archive/2012/03/27/2419328.html

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    TOMCAT热部署 catalina.home catalina.base
    spring boot test MockBean
    源码分析ConcurrentHashMap
    源码分析Thread
    源码分析String
    jvm 占用高的问题定位
    docker 资源限制
    数据库设计方案与优化
    linux搜索查找类命令|--grep指令
    linux搜索查找类命令|--locate命令
  • 原文地址:https://www.cnblogs.com/ubuntuvim/p/4796549.html
Copyright © 2011-2022 走看看