Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

更新时间:2023-07-24 19:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

一、新建项目

1. 新建maven项目

New ->project

选择Maven project

next

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

在filter输入webapp

选择

maven-archetype-webapp

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

Group id输入inscribe,artifact id输入farsighted

二、添加struts2框架

1. 添加struts2支持

项目上点右键

->myeclipse->add struts capabilities

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

点选struts2.1和/*

只勾选

struts2 core lib

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

启动tomcat,在地址栏输入localhost:8088/farsighted出现如下界面

2. 添加action类

New ->source folder

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

输入src/main/java

New ->class

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

Package输入org.inscribe.farsighted.action,name输入LoginAction

LoginAction.java

package org.inscribe.farsighted.action;

import org.apache.struts2.convention.annotation.Action;

import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import com.opensymphony.xwork2.ActionSupport;

/**

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

* @author steve frank * */

@ParentPackage("struts-default")

public class LoginAction extends ActionSupport { private String name; private String password; public String getName() { return name; } public void setName(String name) { = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Action(value = "login", results = { @Result(name = INPUT, location = "/WEB-INF/content/fail.jsp"), @Result(name = SUCCESS, location = "/WEB-INF/content/success.jsp") }) public String execute() { if (name.equals("steve") && password.equals("123")) return SUCCESS; else return INPUT; } }

Index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>

<title>My JSP 'index.jsp' starting page</title> </head> <body> <s:form action="login">

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

<s:textfield name="name" value="steve"></s:textfield> <s:textfield name="password" value="123"></s:textfield> <s:submit></s:submit> </s:form> </body> </html> success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>

<title>My JSP 'success.jsp' starting page</title> </head>

<body> <s:text name="password" /> <hr /> <s:property value="password" /> </body> </html> fail.jsp

<body>登录失败,用户名或密码错误. </body>

三、添加hibernate框架

1. 添加hibernate支持

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

右键->myeclipse->add hibernate capabilities

点选hibernate 3.3 勾选enable hibernate annotations support

勾选hibernate 3.3 annotations&entity manager,hibernate 3.3 core lib,hibernate 3.3 advanced support lib

点选copy checked library jars to folder and add to build-path

点选new

Folder :src/main/resources 勾选

open configuration file

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

选择db driver:mysql

去掉勾,不创建

hibernatesessionfactory

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

四、添加spring框架

1. 添加spring支持

项目右键->myeclipse->add spring capabilities

点选spring3.0

勾选spring 3.0 core;spring 3.0 aop;spring3.0 persistence core; spring3.0 persistence jdbc; 勾选

copy checked library contents to project folder

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

采取默认,enable aop,new applicationcontext.xml

不创建

sessionfactory

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

2. applicationContext.xml文件配置 <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance" xmlns:context="/schema/context" xmlns:aop="/schema/aop" xmlns:tx="/schema/tx" xsi:schemaLocation="

/schema/beans

/schema/beans/spring-beans.xsd /schema/context

/schema/context/spring-context.xsd /schema/aop

/schema/aop/spring-aop.xsd /schema/tx

/schema/tx/spring-tx.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> <property name="packagesToScan" value="org.inscribe.farsighted.model" /> </bean>

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

<!-- 使用 annotation 自动注册bean,并检查@Controller, @Service, @Repository注解已被注入 --> <context:component-scan base-package="org.inscribe.farsighted" />

<!-- 配置事务管理 -->

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean>

<!-- 配置注解实现管理事务(cglib:proxy-target-class="true") --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />

</beans>

3. hibernate.cfg.xml修改

<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="connection.url"> jdbc:mysql://localhost:3306/test </property> <property name="ername">root</property> <property name="connection.password">admin</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="myeclipse.connection.profile">MYSQL</property> <!-- <mapping class="org.inscribe.farsighted.model.Student" /> --> <!-- Connection Pooling Info --> <property name="initialSize">5</property> <property name="maxActive">100</property> <property name="maxIdle">30</property> <property name="maxWait">500</property> <property name="defaultAutoCommit">false</property>

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

</session-factory>

</hibernate-configuration> 4. web.xml文件配置

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

<web-app version="3.0" xmlns="/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:applicationContext*.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <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>/*</url-pattern> </filter-mapping> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param>

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

<param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

五、类的添加

1. hibernate反向生成

students表右键->hibernate reverse engineering

选择package : com.inscribe.farsighted.model

勾选create pojo<>db->点选add hibernate mapping annotations to pojo;勾选update hibernate configuration with mapping resource location

勾选java data access object(dao)->勾选generate precise findby methods;点选

sping dao

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

Id generation :native

2. 添加service接口

package org.inscribe.farsighted.service;

import org.inscribe.farsighted.model.Student;

public interface StudentService { public Student findById(Integer id); }

3. 添加service实现类

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

package org.inscribe.farsighted.service.impl;

import javax.annotation.Resource;

import org.inscribe.farsighted.model.Student; import org.inscribe.farsighted.model.StudentDAO; import org.inscribe.farsighted.service.StudentService; import org.springframework.stereotype.Service;

@Service

public class StudentServiceImpl implements StudentService { @Resource private StudentDAO studentDAO; @Override public Student findById(Integer id) { // TODO Auto-generated method stub return studentDAO.findById(id); } }

4. 添加测试类

package org.inscribe.farsighted;

import org.inscribe.farsighted.model.Student;

import org.inscribe.farsighted.service.StudentService; import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext( "applicationContext.xml"); StudentService service = (StudentService) context.getBean("studentServiceImpl"); Student s=service.findById(1); System.out.println(s.getName()); } }

5. WEB-INF下新建Folder

包结构如下

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

6. 修改输出目录

Build path->configure build path

Out folder统一改default:

Webapp/src/main/webapp/WEB-INF/classes

Maven搭建MyEclipse10+Struts2.1+Spring3.3+Hibernate3.3全注解框架

更改如果无效,在pom.xml中<build>……</build>添加

<sourceDirectory>src/main/java</sourceDirectory>

<resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>

7. 添加struts-spring支持(action注解配置支持)

Build path->add libraries

本文来源:https://www.bwwdw.com/article/t6nm.html

Top