SSH整合之全注解

  SSH整合之全注解

使用注解配置,需要我们额外引入以下jar包

我们下面从实体层开始替换注解

 1 package cn.hmy.beans;
 2
 3 import javax.persistence.Entity;
 4 import javax.persistence.GeneratedValue;
 5 import javax.persistence.Id;
 6 import javax.persistence.Table;
 7
 8 @Entity
 9 @Table
10 public class Stock {
11
12     @Id
13     @GeneratedValue
14     private int sid;
15     private String sname;
16     private int count;
17
18     public int getSid() {
19         return sid;
20     }
21     public void setSid(int sid) {
22         this.sid = sid;
23     }
24
25     public String getSname() {
26         return sname;
27     }
28     public void setSname(String sname) {
29         this.sname = sname;
30     }
31     public int getCount() {
32         return count;
33     }
34     public void setCount(int count) {
35         this.count = count;
36     }
37 }

Stock.java

Dao层替换 给实现类添加注解即可

 1 package cn.hmy.dao.impl;
 2
 3 import java.io.Serializable;
 4 import java.util.List;
 5
 6 import org.hibernate.SessionFactory;
 7 import org.hibernate.Transaction;
 8 import org.springframework.beans.factory.annotation.Autowired;
 9 import org.springframework.jdbc.core.support.JdbcDaoSupport;
10 import org.springframework.stereotype.Repository;
11
12 import cn.hmy.beans.Stock;
13 import cn.hmy.dao.StockDao;
14
15 @Repository("stockDao")
16 public class StockDaoImpl  implements StockDao{
17
18     @Autowired
19     private SessionFactory sessionFactory;
20
21     //添加股票
22         public int addStock(Stock stock) {
23
24             Serializable count = sessionFactory.getCurrentSession().save(stock);
25             return ((Integer)count).intValue();
26         }
27
28         public List<Stock> getAllStock() {
29             String sql="from Stock ";
30             List<Stock> list = sessionFactory.getCurrentSession().createQuery(sql).list();
31             return list;
32         }
33
34
35     public SessionFactory getSessionFactory() {
36         return sessionFactory;
37     }
38     public void setSessionFactory(SessionFactory sessionFactory) {
39         this.sessionFactory = sessionFactory;
40     }
41
42
43
44
45
46
47 }

StockDaoImpl

Service层也是替换实现类 使用注解

 1 package cn.hmy.service.impl;
 2
 3 import java.util.List;
 4
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.beans.factory.annotation.Qualifier;
 7 import org.springframework.stereotype.Service;
 8 import org.springframework.transaction.annotation.Isolation;
 9 import org.springframework.transaction.annotation.Propagation;
10 import org.springframework.transaction.annotation.Transactional;
11
12
13 import cn.hmy.beans.Stock;
14 import cn.hmy.beans.StockException;
15
16 import cn.hmy.dao.StockDao;
17 import cn.hmy.service.StockService;
18
19 @Service("service")
20 public class StockServiceImpl implements StockService{
21
22     //植入Dao对象
23     @Autowired
24     @Qualifier("stockDao")
25     private StockDao stockDao;
26
27     @Transactional
28     public int addStock(Stock stock) {
29         return stockDao.addStock(stock);
30     }
31
32     public List<Stock> getAllStock() {
33
34         return stockDao.getAllStock();
35     }
36
37     public StockDao getStockDao() {
38         return stockDao;
39     }
40
41     public void setStockDao(StockDao stockDao) {
42         this.stockDao = stockDao;
43     }
44
45
46
47
48 }

StockService

Action层 使用注解

 1 package cn.hmy.action;
 2
 3 import java.io.UnsupportedEncodingException;
 4 import java.util.List;
 5
 6 import javax.annotation.Resource;
 7
 8 import org.apache.struts2.convention.annotation.Action;
 9 import org.apache.struts2.convention.annotation.Namespace;
10 import org.apache.struts2.convention.annotation.ParentPackage;
11 import org.apache.struts2.convention.annotation.Result;
12 import org.springframework.context.annotation.Scope;
13 import org.springframework.stereotype.Controller;
14
15 import cn.hmy.beans.Stock;
16 import cn.hmy.service.StockService;
17
18 import com.opensymphony.xwork2.ActionSupport;
19
20 @Controller
21 @Scope("prototype")
22 @Namespace("/stock")
23 @ParentPackage("struts-default")
24 public class AddStockAction extends ActionSupport{
25     private Stock stock;
26     //植入Service对象
27     @Resource
28     private StockService stockService;
29
30
31
32
33     @Action(value="addStockAction",results={@Result(name="success",location="/addSuccess.jsp")})
34     public String addStock() throws UnsupportedEncodingException{
35
36         //stock.setSname(new String(stock.getSname().getBytes("iso-8859-1"),"utf-8"));
37         int addStock = stockService.addStock(stock);
38         System.out.println("添加股票 "+addStock);
39
40
41
42         return SUCCESS;
43     }
44
45
46
47
48
49
50     public Stock getStock() {
51         return stock;
52     }
53
54     public void setStock(Stock stock) {
55         this.stock = stock;
56     }
57     public StockService getStockService() {
58         return stockService;
59     }
60
61     public void setStockService(StockService stockService) {
62         this.stockService = stockService;
63     }
64
65 }

AddStockAction.java

这里我们需要注意applicationContext.xml配置文件中的配置信息

引入包扫描器

将小配置文件的引入换为以下形式

如果用上面的扫描器,我们必须保证sessionFactory的为Hibernate5或者为以下形式

Spring用注解配置事务

按以上配置配即可

时间: 2024-08-05 10:57:44

SSH整合之全注解的相关文章

优雅的ssm三大框架整合(全注解配置篇)转载

一.web应用环境 1.ServletContext 对于一个web应用,其部署在web容器(比如:tomcat)中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,它由web容器负责初始化,其为后面的spring容器提供宿主环境. ServletContext是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放.ServletContext提供对应用程序中所有Servlet所共有的各种资源和功能的访问.Servlet上下文API用于设置应用程

SSH整合步骤之注解和非注解

spring整合hibernate 加入jar包 加入spring和aop所需必须包 加入hibernate的必须包 spring整合hibernate的必须包 org.springframework.jdbc-3.1.3.RELEASE.jar org.springframework.orm-3.1.3.RELEASE.jar org.springframework.transaction-3.1.3.RELEASE.jar 加入配置文件 加入spring的配置文件 加入hibernate的配

SSH整合总结(xml与注解)

本人自己进行的SSH整合,中间遇到不少问题,特此做些总结,仅供参考. 一.使用XML配置: SSH版本 Struts-2.3.31 Spring-4.3.5 Hibernate-4.2.21 引入jar包 必须在WEB-INF下添加jar包(其他无效) spring以及它的依赖包 com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar hibernate的jar包及struts2的jar和插件包,包含两个重复的javassist.jar,保留高

SpringMVC注解和Freemarker整合使用全步骤

SpringMVC现在是比较热门的一种框架了,使用起来感觉还是很不错的,现在我分享一下集体的配置和使用,希望对学习SpringMVC的朋友有用.一.首先我们做准备工作,下载Spring包,下载Freemarker包.二.配置web.xml. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

spring+hibernate+Struts2 整合(全注解及注意事项)

最近帮同学做毕设,一个物流管理系统,一个点餐系统,用注解开发起来还是很快的,就是刚开始搭环境费了点事,今天把物流管理系统的一部分跟环境都贴出来,有什么不足的,请大神不吝赐教. 1.结构如下 2.jar包如下 3.首先是spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

使用注解实现ssh整合

1.搭建项目: 项目名称:ss12.添加jar包    1).struts 2.3.7         --基础        asm-3.3.jar        asm-commons-3.3.jar        asm-tree-3.3.jar        commons-fileupload-1.2.2.jar        commons-io-2.0.1.jar        commons-lang3-3.1.jar        freemarker-2.3.19.jar  

springmvc3.2+spring+hibernate4全注解方式整合(四)

以上是工程文件,下面开始测试 package test.testservice; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.t

springmvc3.2+spring+hibernate4全注解方式整合(一)

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.

springmvc3.2+spring+hibernate4全注解方式整合(三)

service接口 package com.fangjian.core.platform.service; import com.fangjian.core.platform.po.User; public interface UserService { void saveUser(User user); } service实现 package com.fangjian.core.platform.service.impl; import org.springframework.beans.fa