`
alph0618
  • 浏览: 54770 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2学习之三-spring注解

阅读更多
请看之前的
struts2学习之一: http://arthur2014.iteye.com/blog/2162974
struts2学习之二-json插件: http://arthur2014.iteye.com/blog/2162989
struts2学习之四-struts2注解:http://arthur2014.iteye.com/admin/blogs/2163348

在build.gradle需要添加"org.apache.struts:struts2-spring-plugin:2.3.15.1",引入一系列spring相关jar包。
1、在类路径下新建applicationContext.xml,在dao、service层使用spring注解实现,则applicationContext.xml中的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">

	<!-- <context:annotation-config /> -->

	<context:component-scan base-package="com.haochen.*" />
</beans>

<context:component-scan/>表示使用注解来注册bean定义,属性 base-package表示扫描com.haochen包下的带注解标签的类。在spring中一般使用@Repository注解dao层,使用@Service注解业务层
2、修改web.xml添加一下内容:
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>
		/WEB-INF/classes/applicationContext.xml
	</param-value>
  </context-param>

3、定义dao,dao接口IUserDao.java:
package com.haochen.dao;

import com.haochen.vo.User;

public interface IUserDao {
	public User getUser(String name);
}

实现接口的具体dao类UserDaoImpl.java,使用@Repository注解注册:
package com.haochen.dao;

import org.springframework.stereotype.Repository;

import com.haochen.vo.User;

/**
 * 
 * @title
 * @Description dao类,使用spring注解@Repository注册
 * @author chenhao
 * @date 2014年12月4日 上午9:11:28
 * @version 1.0
 */
@Repository("userDao")
public class UserDaoImpl implements IUserDao {

	@Override
	public User getUser(String name) {
		User user = new User();
		user.setName("tom");
		user.setAge(18);
		user.setSex('M');
		return user;
	}

}

4、定义service,接口IUserService.java:
package com.haochen.service;

import com.haochen.vo.User;

public interface IUserService {
	public User getUser(String name);
}

实现类UserService.java,使用@Service注解注册定义,使用@Autowired注解注入dao:
package com.haochen.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import com.haochen.dao.IUserDao;
import com.haochen.vo.User;

/**
 * 
 * @title
 * @Description 业务类,使用spring注解@Service注册
 * @author chenhao
 * @date 2014年12月4日 上午9:12:39
 * @version 1.0
 */
@Service("userService")
public class UserService implements IUserService {

	/**
	 * 通过spring注解获取dao实例
	 */
	@Qualifier("userDao")
	@Autowired
	private IUserDao userDao;

	@Override
	public User getUser(String name) {
		return this.userDao.getUser(name);
	}

}

5、在控制层action中使用@Autowired注解注入service:
package com.haochen.action;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;

import com.haochen.service.IUserService;

public class UserJsonAction extends BaseJsonAction {
	/**
	 * 
	 */
	private static final long serialVersionUID = -5818584581746655517L;

	private String name;

	// 指定bean名
	@Qualifier("userService")
	@Autowired
	private IUserService userService;

	@Override
	public String execute() throws Exception {
		String n = name;
		this.success(userService.getUser(n));

		/**
		 * 1、返回值为JSON,配置文件struts.xml中的<action></action>不用设置<result
		 * type="json"></result>。
		 * 2、返回值为SUCCESS,配置文件struts.xml中的<action></action>需要设置<result
		 * type="json"></result>。
		 **/
		return JSON;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

6、启动tomcat,访问http://localhost:8080/struts2demo/a/helloworld.action,即可获取user值。
分享到:
评论

相关推荐

    struts2-hibernate3-spring整合需要的全部jar包

    Struts2、Hibernate3和Spring是Java开发中常用的三大框架,它们各自负责不同的职责:Struts2用于控制应用程序的流程,Hibernate3则是优秀的对象关系映射(ORM)框架,Spring则提供全面的依赖注入(DI)和面向切面...

    struts2-spring-plugin-2.2.3.1.jar

    Struts2-Spring-Plugin-2.2.3.1.jar是Apache Struts框架与Spring框架集成的一个插件,主要用于帮助开发者在基于Struts2的应用程序中无缝地使用Spring进行依赖注入(Dependency Injection,DI)和控制反转(Inversion...

    struts2-spring3-hinernate4

    4. `2struts-spring.txt`:这个文件可能详细阐述了Struts2和Spring3的整合,包括如何使用Spring管理Struts2的Action,如何配置Struts2-Spring插件,以及如何在Action中注入Spring管理的Bean。 5. `1struts.txt`:这...

    Struts2+spring注解配置

    Struts2 和 Spring 的整合是企业级 Java Web 开发中常见的技术栈,通过注解配置可以使项目更加简洁、易于维护。Struts2 提供了一种使用注解替代 XML 配置的方式,使得开发者无需编写繁琐的 struts.xml 文件,即可...

    struts2-hibernate-spring-configfile.rar_struts2_struts2 spring

    Struts2、Hibernate和Spring是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2主要用于控制层,提供MVC(Model-View-Controller)架构;Hibernate是持久层框架,负责对象关系映射(ORM);而...

    struts-spring-mybatis通过注解方式搭建的框架

    1. **Spring注解**: - `@Component`:标记一个类为Spring管理的Bean,相当于在XML中声明一个bean。 - `@Service`、`@Repository`和`@Controller`:是`@Component`的特化,分别用于业务层、数据访问层和控制层。 ...

    struts2-hibernate3.3.5-spring2.5整合包

    Struts2、Hibernate3.3.5和Spring2.5是Java开发中非常重要的三个开源框架,它们分别负责Web层、持久层和业务层的管理。这个"struts2-hibernate3.3.5-spring2.5整合包"是为了方便开发者快速搭建基于SSH的项目环境而...

    struts2-spring4-hibernate4_xml配置的框架

    Struts2-Spring4-Hibernate4 XML配置的框架是一个经典的Java Web开发架构,它整合了三个主流的开源框架:Struts2、Spring4和Hibernate4。这个框架的配置主要通过XML文件来完成,同时也可以结合注解的方式进行更加...

    整合struts2-spring3-MyBatis3

    Struts2、Spring3和MyBatis3是Java Web开发中的三大核心框架,它们各自承担着不同的职责,但又能够很好地协同工作,提供强大的企业级应用解决方案。在本项目"整合struts2-spring3-MyBatis3"中,我们将深入探讨如何将...

    struts2-spring-plus

    Struts2-Spring-Plus是基于Struts2和Spring框架的一个整合插件,它使得在Struts2应用中集成Spring变得更加便捷。这个插件的主要目的是为了优化和简化两个框架之间的协同工作,提供更好的依赖注入(Dependency ...

    struts2.2.3-hibernate3.3.1-spring3.1.zip jar 包

    Struts2.2.3、Hibernate3.3.1 和 Spring3.1 是三个非常重要的Java Web开发框架,它们在企业级应用开发中扮演着核心角色。这个`struts2.2.3-hibernate3.3.1-spring3.1.zip`压缩包集合了这三个框架的组件,方便开发者...

    struts2-spring-hibernate

    Struts2-Spring-Hibernate整合框架是Java Web开发中常用的一种技术栈,它结合了Struts2、Spring和Hibernate三个核心框架,旨在提供一个高效、灵活且可扩展的开发环境。Struts2作为MVC(Model-View-Controller)框架...

    struts2.3.7-spring3.1.0-hibernate4.0.0 整合源码

    Struts2、Spring和Hibernate是Java开发中三大主流框架,它们的整合应用是企业级Java Web项目中的常见实践。这个源码包"struts2.3.7-spring3.1.0-hibernate4.0.0 整合源码"提供了一个完整的示例,展示了如何将这三个...

    J2EE-Struts2-Spring-Hibernate整合的例子:添加

    在这个例子中,我们将深入探讨如何将Struts2、Spring和Hibernate这三个流行的技术框架整合在一起,以实现一个高效且可维护的Web应用。 Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,用于...

    struts-2.5所有jar包

    6. **struts2-spring-plugin**: 如果使用Spring框架,这个插件能实现Struts2与Spring的无缝集成,包括Action的依赖注入和事务管理。 7. **其他依赖库**:如ognl(Object-Graph Navigation Language)用于表达式语言...

    MyEclipse 搭建Struts2+Spring2+Hibernate3整合SSH2

    在Java开发领域,Struts2、Spring和Hibernate这三大框架的整合,简称SSH2,是常见的企业级应用开发模式。MyEclipse作为一款强大的Java集成开发环境,提供了便捷的SSH2整合支持。以下是详细的搭建步骤及知识点解析: ...

    Struts2-Spring-Hibernate的整合.doc

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用程序的不同层面:Struts2处理MVC模式中的视图和控制器,Spring提供依赖注入(DI)和面向切面编程(AOP),而Hibernate则负责对象关系映射...

    Maven struts-spring-hibernate全注解 通用CRUD示例

    struts2.2.3-spring3.0.6-hibernate3.6.6 二、Demo功能(导入sql可直接运行) 0.数据库文件doc/db.sql 1.引入Spring全注解 2.抽取业务/持久层通用代码(UniversalService/UniversalDao),避免重复编写 比如有实体:...

    spring-mybatis-struts2-master ——demo

    总结,"spring-mybatis-struts2-master"项目是一个典型的SSM框架整合示例,它展示了如何在实际项目中运用这三个框架。通过深入研究这个项目,开发者可以更好地掌握SSM框架的集成技巧,提升自己的Java Web开发能力。

    Struts2+spring注解配置简介

    本篇文章将详细介绍如何在Struts2和Spring框架中结合使用注解进行配置,以简化开发过程。 首先,让我们了解Spring框架中的注解配置。Spring提供了如@Component、@Service、@Repository和@Controller等注解,用于...

Global site tag (gtag.js) - Google Analytics