- 浏览: 508022 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (299)
- Oracle(pl/sql_Erp_Pro*C) (69)
- 设计模式 (4)
- spring (23)
- ext (17)
- apache开源项目应用 (4)
- jquery (16)
- 生活琐事 (8)
- 下载资源 (23)
- mysql (2)
- Eclipse使用积累 (5)
- 报表类(报表/图表) (13)
- php (4)
- Web多彩文本框 (3)
- json (4)
- jqgrid (2)
- ant (2)
- java算法积累 (8)
- EL表达式/JSTL (4)
- poi (3)
- gwt (2)
- 爬网第一步 (2)
- javascript (17)
- Javaweb (8)
- tomcat (1)
- flex (1)
- Java&DB (3)
- J2SE (7)
- linux (3)
- 数据结构 (1)
- dot net (5)
- struts (1)
- ibatis (1)
- log4j (1)
- 项目管理 (1)
- Java native interface(jni,jacob......) (5)
- applet (1)
- VB.net/C#.net/JNI (20)
- css (1)
- Sqlite (1)
- servlet (1)
- REST (1)
最新评论
-
wenhurena:
能不能给一下解压密码roki.work.2017@gmail. ...
Ebs解体新書と学習資料1 -
liutao1600:
楼主写的太好了,每天学习~~
Spring_MVC(6)测试 -
liutao1600:
太好了,每天学习你的文章~~~
Spring_MVC(3)表单页面处理 -
liutao1600:
学习了,太好了
Spring_MVC(2)控制层处理 -
liutao1600:
学习了~~~
Spring_MVC(1)构建简单web应用
- /**
- * 2010-1-23
- */
- package org.zlex.spring.service;
- /**
- *
- * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a>
- * @version 1.0
- * @since 1.0
- */
- public interface AccountService {
- /**
- * 验证用户身份
- *
- * @param username
- * @param password
- * @return
- */
- boolean verify(String username, String password);
- }
/** * 2010-1-23 */ package org.zlex.spring.service; /** * * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a> * @version 1.0 * @since 1.0 */ public interface AccountService { /** * 验证用户身份 * * @param username * @param password * @return */ boolean verify(String username, String password); }
接口不需要任何Spring注解相关的东西,它就是一个简单的接口!
重要的部分在于实现层,如下所示:
AccountServiceImpl.java
- /**
- * 2010-1-23
- */
- package org.zlex.spring.service.impl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.zlex.spring.dao.AccountDao;
- import org.zlex.spring.domain.Account;
- import org.zlex.spring.service.AccountService;
- /**
- *
- * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a>
- * @version 1.0
- * @since 1.0
- */
- @Service
- @Transactional
- public class AccountServiceImpl implements AccountService {
- @Autowired
- private AccountDao accountDao;
- /*
- * (non-Javadoc)
- *
- * @see org.zlex.spring.service.AccountService#verify(java.lang.String,
- * java.lang.String)
- */
- @Override
- public boolean verify(String username, String password) {
- Account account = accountDao.read(username);
- if (password.equals(account.getPassword())) {
- return true;
- } else {
- return false;
- }
- }
- }
/** * 2010-1-23 */ package org.zlex.spring.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.zlex.spring.dao.AccountDao; import org.zlex.spring.domain.Account; import org.zlex.spring.service.AccountService; /** * * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a> * @version 1.0 * @since 1.0 */ @Service @Transactional public class AccountServiceImpl implements AccountService { @Autowired private AccountDao accountDao; /* * (non-Javadoc) * * @see org.zlex.spring.service.AccountService#verify(java.lang.String, * java.lang.String) */ @Override public boolean verify(String username, String password) { Account account = accountDao.read(username); if (password.equals(account.getPassword())) { return true; } else { return false; } } }
注意以下内容:
@Service @Transactional
注解@Service用于标识这是一个Service层实现,@Transactional用于控制事务,将事务定位在业务层,这是非常务实的做法!
接下来,我们来看持久层:AccountDao和AccountDaoImpl类
AccountDao.java
- /**
- * 2010-1-23
- */
- package org.zlex.spring.dao;
- import org.zlex.spring.domain.Account;
- /**
- *
- * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a>
- * @version 1.0
- * @since 1.0
- */
- public interface AccountDao {
- /**
- * 读取用户信息
- *
- * @param username
- * @return
- */
- Account read(String username);
- }
/** * 2010-1-23 */ package org.zlex.spring.dao; import org.zlex.spring.domain.Account; /** * * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a> * @version 1.0 * @since 1.0 */ public interface AccountDao { /** * 读取用户信息 * * @param username * @return */ Account read(String username); }
这个接口就是简单的数据提取,无需任何Spring注解有关的东西!
再看其实现类:
AccountDaoImpl.java
- /**
- * 2010-1-23
- */
- package org.zlex.spring.dao.impl;
- import org.springframework.stereotype.Repository;
- import org.zlex.spring.dao.AccountDao;
- import org.zlex.spring.domain.Account;
- /**
- *
- * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a>
- * @version 1.0
- * @since 1.0
- */
- @Repository
- public class AccountDaoImpl implements AccountDao {
- /* (non-Javadoc)
- * @see org.zlex.spring.dao.AccountDao#read(java.lang.String)
- */
- @Override
- public Account read(String username) {
- return new Account(username,"wolf");
- }
- }
/** * 2010-1-23 */ package org.zlex.spring.dao.impl; import org.springframework.stereotype.Repository; import org.zlex.spring.dao.AccountDao; import org.zlex.spring.domain.Account; /** * * @author <a href="mailto:zlex.dongliang@gmail.com">梁栋</a> * @version 1.0 * @since 1.0 */ @Repository public class AccountDaoImpl implements AccountDao { /* (non-Javadoc) * @see org.zlex.spring.dao.AccountDao#read(java.lang.String) */ @Override public Account read(String username) { return new Account(username,"wolf"); } }
这里只需要注意注解:
@Repository
意为持久层,Dao实现这层我没有过于细致的介绍通过注解调用ORM或是JDBC来完成实现,这些内容后续细述!
这里我们没有提到注解@Component,共有4种“组件”式注解:
引用
@Component:可装载组件
@Repository:持久层组件
@Service:服务层组件
@Controller:控制层组件
这样spring容器就完成了控制层、业务层和持久层的构建。
启动应用,访问http://localhost:8080/spring/account.do?username=snow&password=wolf
观察控制台,如果得到包含“true”的输出,本次构建就成功了!
- Demo.rar (4.7 MB)
- 下载次数: 107
评论
2 楼
liutao1600
2013-05-07
学习了~~~
1 楼
tamsiuloong
2010-06-28
@Component:可装载组件
@Repository:持久层组件
@Service:服务层组件
@Controller:控制层组件
原来是这样啊,我到现在也不太接受注解的方式。可能是对他的陌生,也可能是喜欢pojo
@Repository:持久层组件
@Service:服务层组件
@Controller:控制层组件
原来是这样啊,我到现在也不太接受注解的方式。可能是对他的陌生,也可能是喜欢pojo
发表评论
-
cronExpression
2010-08-30 17:57 1150一个Cron-表达式是一个由六至七个字段组成由空格分隔的 ... -
spring任务调度(task)
2010-08-23 13:24 2800spring 任务调度总结参考资料http://www.ibm ... -
spring 任务配置
2010-08-23 10:45 1161xml 代码 <bean id="i ... -
spring3.0注解式声明
2010-08-19 17:39 4329从spring2.5开始,annotation结合BeanPo ... -
Spring Roo 自动化集成开发工具
2010-08-04 14:54 2204Roo是一种 Spring 开发的辅助工具,使用命令行操作来生 ... -
spring3.0学习
2010-08-03 16:24 823https://src.springframework.org ... -
Spring mvc 转发、重定向
2010-07-28 16:53 2372spring控制器最后返回一个ModelAndView( ... -
spring api download
2010-07-28 08:43 1136在网上找了好多,都下不下来,要不就是需要注册登录什么的,才能下 ... -
Spring uploadFile
2010-05-02 20:45 2176先让我们来看一段摘自《Spring 2.5 Referen ... -
Spring_MVC(6)测试
2010-04-24 18:48 3669这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(5)业务层处理
2010-04-24 18:47 1942这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(4)持久层处理
2010-04-24 18:45 1162这里将用到以下几个包: 引用 aopalliance-1 ... -
Spring_MVC(3)表单页面处理
2010-04-24 18:43 3001// 跳转到用户信息页面 ... -
Spring_MVC(2)控制层处理
2010-04-24 18:42 1663言归正传,研究一下注解下的控制层。 我习惯于使用JSTL展示页 ... -
spring实现文件上传
2010-04-24 15:15 1575Spring由内置的multipart支持web应用中的文件上 ... -
Spring MVC:使用InternalResourceViewResolver视图解析器
2010-02-24 09:14 2014参考:Sping 2.0.8\docs\MVC-step-by ... -
ibatis+spring控制事务配置
2009-04-05 10:25 1891<bean id="dataSource&qu ... -
转:spring事务控制配置实例
2009-04-03 10:47 3316Spring声明式事务配置的几种方法 在Spring中进 ... -
spring+ibatis+struts事务控制配置
2009-04-03 10:38 1524<?xml version="1.0" ... -
spring+ibatis+struts配置问题
2009-04-01 14:48 1088以下web.xml配置 <?xml version=&q ...
相关推荐
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。
Spring MVC3构建Web应用详解
利用Java EE技术参考Spring MVC Web框架,设计并实现类似的框架,并利用该框架构建一个简单的Web应用。 SpringMVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。...
Spring+MVC3构建Web应用详解
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了...
使用Spring MVC构建Web应用程序1
使用Spring_MVC3构建Web应用详细教程
Seth Ladd是资深Spring培训师,曾为NEC公司等许多国际性机构构建Web系统。Darren Davison和StevenDevijver都曾是Spring核心开发人员,在Spring源代码和文档中可以很容易地找到他们的名字。而Colin Yates、Keith ...
本文将指导大家如何使用Spring MVC3去构建一个Web应用。在Spring MVC中,所有的用户请求都会被派发到控制器模块,控制器然后再根据业务逻辑去调用数据访问层获得数据,最后通过JSP视图返回。
构建metro nic、mybatis、spring mvc的高性能web应用
构建metro nic + mybatis + spring mvc的高性能web应用;有任何不懂的技术问题都可以联系我共同讨论
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且...
SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,...
是一个通用JavaWeb项目框架,使用Java、Web等一系列技术,搭建开发高性能、高可拓展性、高可维护性,高安全性的web项目;...前端使用MetroNic模板,后端架构:Spring + Spring MVC + Mybatis + Apache Shiro。
基于maven的Java web项目框架模板,使用spring + spring_mvc + mybatis + spring-data-redis等框架各种配置文件都已写好的并实现了一个简单的登陆注册功能可用于在IDEA上快速构建网络项目或入门学习 更多spring_mvc...
maven-3.5.0多工程构建(spring4mvc分子项目) 使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块... maven maven3.5.0 多工程构建 spring4mvc 子项目 maven构建项目 多模块项目 maven构建WEB项目
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且...
Spring是个非常非常非常优秀的java框架,主要是用它的IOC容器帮我们依赖注入和管理一些程序中的Bean组件,实现低耦合关联,最终提高系统可扩展性和可维护性,用它来辅助我们构建web工程将会感觉非常非常非常地愉悦。...