maven整合S2SH

1.pom.xml

  1 <?xml version="1.0"?>
  2 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  4   <modelVersion>4.0.0</modelVersion>
  5   <parent>
  6     <artifactId>JavaPrj_2</artifactId>
  7     <groupId>com.goshop</groupId>
  8     <version>0.0.1-SNAPSHOT</version>
  9   </parent>
 10   <groupId>com.goshop</groupId>
 11   <artifactId>JavaPrj_2-web</artifactId>
 12   <version>0.0.1-SNAPSHOT</version>
 13   <packaging>war</packaging>
 14   <name>JavaPrj_2-web Maven Webapp</name>
 15   <url>http://maven.apache.org</url>
 16   <dependencies>
 17     <dependency>
 18       <groupId>junit</groupId>
 19       <artifactId>junit</artifactId>
 20       <version>3.8.1</version>
 21       <scope>test</scope>
 22     </dependency>
 23     
 24     <dependency>
 25       <groupId>com.goshop</groupId>
 26       <artifactId>JavaPrj_2-service</artifactId>
 27       <version>0.0.1-SNAPSHOT</version>
 28     </dependency>
 29     <dependency>
 30     <groupId>org.apache.struts</groupId>
 31     <artifactId>struts2-jfreechart-plugin</artifactId>
 32     <version>2.0.6</version>
 33 </dependency>
 34     <dependency>
 35     <groupId>jfree</groupId>
 36     <artifactId>jcommon</artifactId>
 37     <version>1.0.16</version>
 38 </dependency>
 39 <dependency>
 40     <groupId>jfree</groupId>
 41     <artifactId>jfreechart</artifactId>
 42     <version>1.0.9</version>
 43 </dependency>
 44     <!-- spring3 -->
 45         <dependency>
 46             <groupId>org.springframework</groupId>
 47             <artifactId>spring-core</artifactId>
 48             <version>3.1.2.RELEASE</version>
 49         </dependency>
 50         <dependency>
 51             <groupId>org.springframework</groupId>
 52             <artifactId>spring-context</artifactId>
 53             <version>3.1.2.RELEASE</version>
 54         </dependency>
 55         <dependency>
 56             <groupId>org.springframework</groupId>
 57             <artifactId>spring-jdbc</artifactId>
 58             <version>3.1.2.RELEASE</version>
 59         </dependency>
 60         <dependency>
 61             <groupId>org.springframework</groupId>
 62             <artifactId>spring-beans</artifactId>
 63             <version>3.1.2.RELEASE</version>
 64         </dependency>
 65         <dependency>
 66             <groupId>org.springframework</groupId>
 67             <artifactId>spring-web</artifactId>
 68             <version>3.1.2.RELEASE</version>
 69         </dependency>
 70         <dependency>
 71             <groupId>org.springframework</groupId>
 72             <artifactId>spring-expression</artifactId>
 73             <version>3.1.2.RELEASE</version>
 74         </dependency>
 75         <dependency>
 76             <groupId>org.springframework</groupId>
 77             <artifactId>spring-orm</artifactId>
 78             <version>3.1.2.RELEASE</version>
 79         </dependency>
 80         
 81         <!-- Struts2的核心包 -->
 82         <dependency>
 83             <groupId>org.apache.struts</groupId>
 84             <artifactId>struts2-core</artifactId>
 85             <version>2.3.16</version>
 86             <!--
 87             这里的 exclusions 是排除包,因为 Struts2中有javassist,Hibernate中也有javassist,
 88             所以如果要整合Hibernate,一定要排除掉Struts2中的javassist,否则就冲突了。
 89             <exclusions>
 90                 <exclusion>
 91                     <groupId>javassist</groupId>
 92                     <artifactId>javassist</artifactId>
 93                 </exclusion>
 94             </exclusions> 
 95             -->
 96         </dependency>
 97         <!-- convention-plugin插件,使用了这个插件之后,就可以采用注解的方式配置Action -->
 98         <dependency>
 99             <groupId>org.apache.struts</groupId>
100             <artifactId>struts2-convention-plugin</artifactId>
101             <version>2.3.20</version>
102         </dependency>
103         <!--config-browser-plugin插件,使用了这个插件之后,就可以很方便的浏览项目中的所有action及其与 jsp view的映射 -->
104         <dependency>
105             <groupId>org.apache.struts</groupId>
106             <artifactId>struts2-config-browser-plugin</artifactId>
107             <version>2.3.20</version>
108         </dependency>
109         <!-- Struts2和Spring整合插件 -->
110         <dependency>
111             <groupId>org.apache.struts</groupId>
112             <artifactId>struts2-spring-plugin</artifactId>
113             <version>2.3.4.1</version>
114         </dependency>
115         
116         <!-- hibernate4 -->
117         <dependency>
118             <groupId>org.hibernate</groupId>
119             <artifactId>hibernate-core</artifactId>
120             <version>4.1.7.Final</version>
121         </dependency>
122         
123         <!-- mysql驱动包 -->
124         <dependency>
125             <groupId>mysql</groupId>
126             <artifactId>mysql-connector-java</artifactId>
127             <version>5.1.34</version>
128         </dependency>
129         
130         <!--Druid连接池包 -->
131         <dependency>
132             <groupId>com.alibaba</groupId>
133             <artifactId>druid</artifactId>
134             <version>1.0.12</version>
135         </dependency>
136         
137         <!--aspectjweaver包 -->
138         <dependency>
139             <groupId>org.aspectj</groupId>
140             <artifactId>aspectjweaver</artifactId>
141             <version>1.8.5</version>
142         </dependency>
143         <dependency>
144     <groupId>c3p0</groupId>
145     <artifactId>c3p0</artifactId>
146     <version>0.9.1.2</version>
147 </dependency>
148 
149         <dependency>
150     <groupId>org.hibernate</groupId>
151     <artifactId>hibernate-core</artifactId>
152     <version>3.6.10.Final</version>
153 </dependency>
154 
155 <dependency>
156     <groupId>log4j</groupId>
157     <artifactId>log4j</artifactId>
158     <version>1.2.17</version>
159 </dependency>
160   </dependencies>
161   <build>
162     <finalName>JavaPrj_2-web</finalName>
163   </build>
164 </project>

 

 

2.web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     version="3.0">
 6 
 7     <!-- Spring监听器 -->
 8     <listener>
 9         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
10     </listener>
11     <!-- Spring配置文件位置 -->
12     <context-param>
13         <param-name>contextConfigLocation</param-name>
14         <param-value>classpath*:applicationContext.xml</param-value>
15     </context-param>
16 <context-param>
17    <param-name>log4jConfigLocation</param-name>
18  <param-value>classpath:Log4j.properties</param-value>
19 </context-param> 
20 <listener>
21 <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
22 </listener>
23     <filter>
24         <filter-name>struts2</filter-name>
25         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
26     </filter>
27 
28     <filter-mapping>
29         <filter-name>struts2</filter-name>
30         <url-pattern>/*</url-pattern>
31     </filter-mapping>
32 </web-app>

 

3.applicationContext.xml

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <!-- 指定Spring配置文件的Schema信息 -->
  3 <beans xmlns="http://www.springframework.org/schema/beans"
  4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5     xmlns:aop="http://www.springframework.org/schema/aop"
  6     xmlns:context="http://www.springframework.org/schema/context"
  7     xmlns:tx="http://www.springframework.org/schema/tx"
  8     xsi:schemaLocation="http://www.springframework.org/schema/beans 
  9     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 10     http://www.springframework.org/schema/tx 
 11     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
 12     http://www.springframework.org/schema/context 
 13     http://www.springframework.org/schema/context/spring-context-3.0.xsd
 14     http://www.springframework.org/schema/aop 
 15     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
 16     
 17     <context:component-scan base-package="com.goshop.action"></context:component-scan>
 18     <context:component-scan base-package="com.goshop.service.impl"></context:component-scan>
 19     <context:component-scan base-package="com.goshop.dao.impl"></context:component-scan>
 20     <!-- 定义数据源Bean,使用C3P0数据源实现 -->
 21     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
 22         destroy-method="close">
 23         <!-- 指定连接数据库的驱动 -->
 24         <property name="driverClass" value="com.mysql.jdbc.Driver"/>
 25         <!-- 指定连接数据库的URL -->
 26         <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_votemanage"/>
 27         <!-- 指定连接数据库的用户名 -->
 28         <property name="user" value="root"/>
 29         <!-- 指定连接数据库的密码 -->
 30         <property name="password" value="123456"/>
 31         <!-- 指定连接数据库连接池的最大连接数 -->
 32         <property name="maxPoolSize" value="40"/>
 33         <!-- 指定连接数据库连接池的最小连接数 -->
 34         <property name="minPoolSize" value="1"/>
 35         <!-- 指定连接数据库连接池的初始化连接数 -->
 36         <property name="initialPoolSize" value="1"/>
 37         <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
 38         <property name="maxIdleTime" value="20"/>
 39     </bean>
 40     <!-- 定义Hibernate的SessionFactory -->
 41     <bean id="sessionFactory"
 42         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 43         <!-- 依赖注入数据源,注入正是上面定义的dataSource -->
 44         <property name="dataSource" ref="dataSource"/>
 45         <!-- mappingResouces属性用来列出全部映射文件 -->
 46         <property name="mappingResources">
 47             <list>
 48                 <!-- 以下用来列出Hibernate映射文件 -->
 49                 <value>com/goshop/domain/Person.hbm.xml</value>
 50                 <value>com/goshop/domain/Vote.hbm.xml</value>
 51                 <value>com/goshop/domain/VoteOption.hbm.xml</value>
 52             </list>
 53         </property>
 54         <!-- 定义Hibernate的SessionFactory的属性 -->
 55         <property name="hibernateProperties">
 56             <!-- 配置Hibernate属性 -->
 57             <value>
 58             hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
 59             hibernate.hbm2ddl.auto=update
 60             hibernate.show_sql=true
 61             hibernate.format_sql=true;
 62             </value>
 63         </property>
 64     </bean>
 65     <!-- 定义DAO Bean-->
 66     <bean id="personDao" class=
 67     "com.goshop.dao.impl.PersonDaoHibernate">
 68         <!-- 注入持久化操作所需的SessionFactory -->
 69         <property name="sessionFactory" ref="sessionFactory"/>
 70     </bean>
 71     
 72         <bean id="voteDaoHibernate" class=
 73     "com.goshop.dao.impl.VoteDaoHibernate">
 74         <!-- 注入持久化操作所需的SessionFactory -->
 75         <property name="sessionFactory" ref="sessionFactory"/>
 76     </bean>
 77     
 78             <bean id="voteOptionDaoHibernate" class=
 79     "com.goshop.dao.impl.VoteOptionDaoHibernate">
 80         <!-- 注入持久化操作所需的SessionFactory -->
 81         <property name="sessionFactory" ref="sessionFactory"/>
 82     </bean>
 83     
 84     <!-- 配置一个业务逻辑组件 -->
 85     <bean id="service" class=
 86     "com.goshop.service.impl.ServiceImpl">
 87         <!-- 注入持久化访问所需的DAO组件 -->
 88         <property name="personDao" ref="personDao"/>
 89     </bean>
 90 
 91 
 92     <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类 -->
 93     <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现-->
 94     <bean id="transactionManager" 
 95         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
 96         <!-- 配置HibernateTransactionManager时需要依注入SessionFactory的引用 -->
 97         <property name="sessionFactory" ref="sessionFactory"/>
 98     </bean>
 99     <!-- 配置事务增强处理,指定事务管理器 -->
100     <tx:advice id="txAdvice" transaction-manager="transactionManager">
101         <!-- 用于配置详细的事务语义 -->
102         <tx:attributes>
103             <!-- 所有以'get'开头的方法是read-only的 -->
104             <tx:method name="get*" read-only="true"/>
105             <!-- 其他方法使用默认的事务设置 -->
106             <tx:method name="*"/>
107         </tx:attributes>
108     </tx:advice>
109     <aop:config>
110         <!-- 配置一个切入点 -->
111         <aop:pointcut id="pointcut"
112             expression="bean(service)"/>
113         <!-- 指定在pointcut切入点应用txAdvice事务增强处理 -->
114         <aop:advisor advice-ref="txAdvice" 
115             pointcut-ref="pointcut"/>
116     </aop:config>
117 
118 </beans>

 

5.struts.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
 3 <struts>
 4 
 5     <!-- 指定由spring负责action对象的创建 -->
 6     <constant name="struts.objectFactory" value="spring" />
 7     <!-- 所有匹配*.action的请求都由struts2处理 -->
 8     <constant name="struts.action.extension" value="action" />
 9     <!-- 是否启用开发模式(开发时设置为true,发布到生产环境后设置为false) -->
10     <constant name="struts.devMode" value="true" />
11     <!-- struts配置文件改动后,是否重新加载(开发时设置为true,发布到生产环境后设置为false) -->
12     <constant name="struts.configuration.xml.reload" value="true" />
13     <!-- 设置浏览器是否缓存静态内容(开发时设置为false,发布到生产环境后设置为true) -->
14     <constant name="struts.serve.static.browserCache" value="false" />
15     <!-- 请求参数的编码方式 -->
16     <constant name="struts.i18n.encoding" value="utf-8" />
17     <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发(开发时设置为true,发布到生产环境后设置为false) -->
18     <constant name="struts.i18n.reload" value="true" />
19     <!-- 文件上传最大值 -->
20     <constant name="struts.multipart.maxSize" value="104857600" />
21     <!-- 让struts2支持动态方法调用,使用叹号访问方法 -->
22     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
23     <!-- Action名称中是否还是用斜线 -->
24     <constant name="struts.enable.SlashesInActionNames" value="false" />
25     <!-- 允许标签中使用表达式语法 -->
26     <constant name="struts.tag.altSyntax" value="true" />
27     <!-- 对于WebLogic,Orion,OC4J此属性应该设置成true -->
28     <constant name="struts.dispatcher.parametersWorkaround" value="false" />
29     
30     
31     <include file="struts_show.xml"></include>
32     <include file="struts_do.xml"></include>
33     <include file="struts_result.xml"></include>
34     
35 </struts>

 

6.

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
 3 <struts>
 4     <package name="default1" namespace="/" extends="struts-default">
 5     <action name="doVoteAction" class="com.goshop.action.DoVoteAction" method="add">
 6              <result name="success">/index.jsp</result>  
 7              <result name="input">/index.jsp</result>
 8         </action>    
 9     </package>
10 </struts>

 

7.

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
 3 <struts>
 4     <package name="default2" namespace="/" extends="jfreechart-default,struts-default">
 5     <action name="resultAction" class="com.goshop.action.ShowResultAction" >
 6           <result name="success"   type="chart">  
 7                 <param name="width">400</param>  
 8                 <param name="height">300</param>  
 9             </result>  
10         </action>    
11     </package>
12 </struts>

 

8.

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
3 <struts>
4     <package name="default" namespace="/" extends="struts-default">
5     <action name="showAction" class="com.goshop.action.ShowVoteOptionAction" method="show">
6              <result name="success">/index.jsp</result>  
7         </action>    
8     </package>
9 </struts>

 

9.

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
 3 <struts>
 4     <package name="default" namespace="/" extends="struts-default">
 5         <action name="testAction" class="com.goshop.action.TestAction" method="test">
 6              <result name="success">/list.jsp</result>  
 7         </action>    
 8          <!-- 定义处理用户请求的Action,指定该Action的实现类-->  
 9         <action name="registPro"   
10             class="com.goshop.action.RegistAction">  
11             <!-- 为两个逻辑视图配置视图页面 -->  
12             <result name="error">/error.jsp</result>  
13             <result name="success">/welcome.jsp</result>  
14         </action>  
15         <!-- 让用户直接访问该应用时列出所有视图页面 -->  
16         <action name="*">  
17             <result>/{1}.jsp</result>  
18         </action>  
19     </package>
20 </struts>

 

8.log4j.properties

 1 \u4E0B\u9762\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B\u662F INFO\uFF0C\u5E76\u4E14\u914D\u7F6E\u4E862\u4E2A\u8F93\u51FA\u76EE\u7684\u5730\uFF0C\u4E00\u4E2A\u662FA3\uFF0C\u4E00\u4E2A\u662Fconsole
 2 
 3 log4j.rootLogger = INFO,A3,CONSOLE
 4 
 5 //\u65E5\u5FD7\u6700\u4F4E\u7684\u8F93\u51FA\u7EA7\u522B
 6 log4j.appender.A3.Threshold=INFO
 7 log4j.appender.A3.encoding=UTF-8
 8 //\u6BCF\u5929\u4EA7\u751F\u4E00\u4E2A\u6587\u4EF6DailyRollingFileAppender  
 9 log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
10 //file \u5C5E\u6027  \u6307\u5B9A\u4EA7\u751F\u65E5\u5FD7\u6587\u4EF6\u7684\u4FDD\u5B58\u4F4D\u7F6E\u53CA\u6587\u4EF6\u540D\uFF0C\u8FD9\u91CC\u662Fwindows\u4E0B\u7684\u914D\u7F6E
11 // c:/logtest/logtest.log\uFF0C
12 //\u516C\u53F8\u9879\u76EE\u5728linux\u4E0B\u7684\u914D\u7F6E\u662F/app/weblogic/applications/logs/sxvip_logs
13 log4j.appender.A3.File=e:/logtest/logtest.log
14 //\u5F53\u6709\u65E5\u5FD7\u65F6\u7ACB\u5373\u8F93\u51FA\uFF0C\u9ED8\u8BA4\u662Ftrue
15 log4j.appender.A3.ImmediateFlush=true
16 log4j.appender.A3.DatePattern='_'yyyy-MM-dd
17 //\u65E5\u5FD7\u5E03\u5C40\u65B9\u5F0F
18 log4j.appender.A3.layout=org.apache.log4j.PatternLayout
19 //\u65E5\u5FD7\u6587\u4EF6\u4E2D\u65E5\u5FD7\u7684\u683C\u5F0F
20 log4j.appender.A3.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n
21 
22 //\u8FD9\u91CC\u4F7F\u7528org.apache.log4j.ConsoleAppender\u6307\u5B9A\u8981\u628A\u65E5\u5FD7\u8F93\u51FA\u5230\u63A7\u5236\u53F0
23 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
24 log4j.appender.Threshold=INFO
25 //\u8F93\u51FA\u76EE\u6807\u662F \u63A7\u5236\u53F0
26 log4j.appender.CONSOLE.Target=System.out
27 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
28 log4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n

 

9.testAction

 1 package com.goshop.action;
 2 
 3 import org.apache.struts2.convention.annotation.Action;
 4 import org.apache.struts2.convention.annotation.Namespace;
 5 import org.apache.struts2.convention.annotation.ParentPackage;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.context.annotation.Scope;
 8 import org.springframework.stereotype.Controller;
 9 
10 import com.goshop.service.IUserService;
11 import com.opensymphony.xwork2.ActionSupport;
12 @Controller  
13 @Scope("prototype")
14 public class TestAction extends ActionSupport {
15 
16     
17     public String test(){
18         
19         return "success";
20     }
21     
22 }

 

 

10.RegisterAction

 1 package com.goshop.action;
 2 
 3 import org.apache.commons.logging.Log;
 4 import org.apache.commons.logging.LogFactory;
 5 
 6 import com.goshop.domain.Person;
 7 import com.goshop.service.Service;
 8 import com.opensymphony.xwork2.ActionSupport;
 9 
10 public class RegistAction  extends ActionSupport{
11 
12       //下面是用于封装用户请求参数的属性  
13     private Person person;  
14     //用于封装处理结果的属性  
15     private String tip;  
16     //系统所用的业务逻辑组件  
17     private Service service;  
18     //设置注入业务逻辑组件所必需的setter方法  
19     public void setService(Service service)  
20     {  
21         this.service = service;  
22     }  
23   
24     //person属性的setter和getter方法  
25     public void setPerson(Person person)  
26     {  
27         this.person = person;  
28     }  
29     public Person getPerson()  
30     {  
31         return this.person;  
32     }  
33   
34     //tip属性的setter和getter方法  
35     public void setTip(String tip)  
36     {  
37         this.tip = tip;  
38     }  
39     public String getTip()  
40     {  
41         return this.tip;  
42     }  
43   
44     private static final Log log = LogFactory.getLog(RegistAction.class);
45     
46     
47     //处理用户请求的execute方法  
48     public String execute()  
49         throws Exception  
50     {  
51         log.info("注册校验开始.........................");
52         //调用业务逻辑组件的regist方法来处理请求  
53         if (service.regist(person))  
54         {  
55             setTip("哈哈,注册成功!");  
56             log.info("注册成功");
57             return SUCCESS;  
58         }  
59         else  
60         {  
61             log.error("注册失败");
62             return ERROR;  
63         }  
64     }  
65 }

 

11, service

 1 package com.goshop.service;
 2 /**
 3  * 测试用
 4  * @author ThinkPad
 5  *
 6  */
 7 public interface IUserService {
 8 
 9     public void test();
10 }

 

12.service.impl

 1 package com.goshop.service.impl;
 2 
 3 import org.springframework.stereotype.Service;
 4 
 5 import com.goshop.service.IUserService;
 6 
 7 @Service("userService")
 8 public class UserServiceImpl implements IUserService{
 9 
10     public void test() {
11         System.out.println("hello..world");
12     }
13 
14 }

 

13.service

1 package com.goshop.service;
2 
3 import com.goshop.domain.Person;
4 
5 public interface Service {
6     
7     //注册用户  
8     boolean regist(Person person);  
9 }

 

14.service.impl

 1 package com.goshop.service.impl;
 2 
 3 import com.goshop.dao.PersonDao;
 4 import com.goshop.domain.Person;
 5 import com.goshop.service.Service;
 6 
 7 public class ServiceImpl implements Service{
 8 
 9      private PersonDao personDao;  
10     
11     
12     public PersonDao getPersonDao() {
13         return personDao;
14     }
15 
16 
17     public void setPersonDao(PersonDao personDao) {
18         this.personDao = personDao;
19     }
20 
21 
22     public boolean regist(Person person) {
23         int result = personDao.save(person);
24         if(result>0){
25             return true;
26         }
27         return false;
28     }
29 
30 }

 

15.dao

 1 package com.goshop.dao;
 2 
 3 import java.util.List;
 4 
 5 import com.goshop.domain.Person;
 6 
 7 public interface PersonDao {
 8       /** 
 9      * 加载Person实例 
10      * @param id 需要加载的Person实例的主键值 
11      * @return 返回加载的Person实例 
12      */   
13     Person get(Integer id);  
14        
15     /** 
16      * 保存Person实例 
17      * @param person 需要保存的Person实例 
18      * @return 刚刚保存的Person实例的标识属性值 
19      */   
20     Integer save(Person person);  
21       
22     /** 
23      * 修改Person实例 
24      * @param person 需要修改的Person实例 
25      */  
26     void update(Person person);  
27       
28     /** 
29      * 删除Person实例 
30      * @param id 需要删除的Person实例的标识属性值 
31      */  
32     void delete(Integer id);  
33       
34     /** 
35      * 删除Person实例 
36      * @param person 需要删除的Person实例 
37      */  
38     void delete(Person person);  
39       
40     /** 
41      * 根据用户名查找Person 
42      * @param name 查询的人名 
43      * @return 指定用户名对应的全部Person 
44      */  
45     List<Person> findByName(String name);  
46       
47     /** 
48      * 查询全部Person实例 
49      * @return 全部Person实例 
50      */  
51     public List<Person> findAllPerson();  
52 }

 

16.dao.impl

 1 package com.goshop.dao.impl;
 2 
 3 import java.util.List;
 4 
 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
 6 
 7 import com.goshop.dao.PersonDao;
 8 import com.goshop.domain.Person;
 9 
10 public class PersonDaoHibernate extends HibernateDaoSupport implements PersonDao{
11 
12     public Person get(Integer id) {
13         return this.getHibernateTemplate().get(Person.class, id);
14     }
15 
16     public Integer save(Person person) {
17         return (Integer) this.getHibernateTemplate().save(person);
18     }
19 
20     public void update(Person person) {
21         this.getHibernateTemplate().update(person);
22     }
23 
24     public void delete(Integer id) {
25         this.getHibernateTemplate().delete(get(id));
26     }
27 
28     public void delete(Person person) {
29         this.getHibernateTemplate().delete(person);
30     }
31 
32     public List<Person> findByName(String name) {
33         return (List<Person>)this.getHibernateTemplate().find("from Person p where p.name like ?",name);
34     }
35 
36     public List<Person> findAllPerson() {
37         return (List<Person>)this.getHibernateTemplate().find("from Person");
38     }
39 
40 }

 

 

 1 <?xml version="1.0" encoding="GBK"?>  
 2 <!DOCTYPE hibernate-mapping PUBLIC   
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
 5 <hibernate-mapping package="com.goshop.domain">
 6     <class name="Person" table="tb_person">
 7         <id name="id" column="Id" type="int">
 8             <generator class="increment"></generator>
 9         </id>
10         <property name="name" type="string"></property>
11         <property name="age" type="int"></property>
12     </class>
13 </hibernate-mapping>

 

 

 1 package com.goshop.domain;
 2 
 3 public class Person {
 4     private Integer id;
 5     private String name;
 6     private int age;
 7     public Integer getId() {
 8         return id;
 9     }
10     public void setId(Integer id) {
11         this.id = id;
12     }
13     public String getName() {
14         return name;
15     }
16     public void setName(String name) {
17         this.name = name;
18     }
19     public int getAge() {
20         return age;
21     }
22     public void setAge(int age) {
23         this.age = age;
24     }
25 
26     
27 }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值