spring框架的引入
spring框架给程序开发带来了春天,在很多项目里,可能不用struts,不用hibernate,但往往都有spring。
why?
因为每个项目都会涉及到对象的创建和对象之间的依赖。
一、传统的MVC开发
mvc的项目框架结构:Entity / dao / service / action
// 1. 实体类
class User{
}
//2. dao
class UserDao{
.. 访问db
}
//3. service
class UserService{
UserDao userDao = new UserDao();
}
//4. action
class UserAction{
UserService userService = new UserService();
..
拿到数据或结果
}
用户访问:
/user.action ----> Tomcat (服务器创建Action、Service、dao)
二、思考传统的开发方式
1. 对象创建能否写死?
答:实际项目里,写死会给让代码难以维护。好代码的可维护性很强,而且也不会是越来越累的事。
2. 对象创建细节
对象数量
action 多个 【需要维护成员变量,即有状态,每个用户状态不同】
service 一个 【不需要维护公共变量,无状态】
dao 一个 【不需要维护公共变量,无状态】
创建时间
action 访问时候创建
service 启动时候创建
dao 启动时候创建
3. 对象的依赖关系
action 依赖 service
service依赖 dao
三、传统开发的春天
spring就是解决上面的问题的,简单来说,就是处理对象的创建的、以及对象的依赖关系!
spring框架的引入相关推荐
- 为什么 Spring 框架如此流行?
作者:shirehappy 来源:SpringForAll社区 想要学习更多关于Spring框架在Java开发者中如此流行?看这篇文章可以学到更多! 1.Spring框架特性 Spring是用于应用开 ...
- spring 全局变量_[Spring]-Spring框架-02-IOC容器
Spring框架 IOC容器 理解IOC容器和DI依赖注入 IOC容器 Inverser Of Control反转控制 就是把原来在程序中创建HelloService对象的控制权限交给Spring管理 ...
- spring 框架学习(一)
1.spring简介 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成 ...
- spring学习12 -Spring 框架模块以及面试常见问题注解等
以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式-在AOP和remoting中被用的比较 ...
- Spring系列之Spring框架和SpringAOP集成过程分析(十)
转载请注明出处:https://blog.csdn.net/zknxx/article/details/80724180 在开始这个系列之前大家先想一下我们是怎么在项目中使用SpringAOP的(这里 ...
- 实现基于Spring框架应用的权限控制系统(转)
为什么80%的码农都做不了架构师?>>> 前注:当我摸到了通过filter拦截权限,通过AOP拦截方法,通过权限控制菜单的时候,猛然发现这一切的一切已经是别人已经发明好的轮子. ...
- Spring框架介绍及使用(转载)
原文链接 Spring框架-控制反转(IOC) 1 Spring框架概述 1.1 什么是Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由R ...
- Spring框架5.1将提供对Java 11的支持
SpringOne Platform会议最近在华盛顿特区举行,会上发布和宣布了诸多事项.在9月25日上午的主题演讲中,Spring框架的联合创始人兼Pivotal的首席工程师Juergen Hoell ...
- Spring框架入门
目录 Spring框架概述 1.Spring框架组成 2.使用spring有什么好处 3.为什么使用spring框架 4.Spring快速入门 4.1Spring IoC底层实现原理 4.2下载Spr ...
最新文章
- ERROR: Failed to resolve: com.android.databinding:library:3.4.2
- O(n)级选排名第k位数(附上算法复杂度分析)
- 好文推荐 | etcd 问题、调优、监控
- 人人都能掌握的Java服务端性能优化方案
- AliExpress智能营销引擎大揭秘 - AnalyticDB如何做到快准狠省
- oracle数据库 bug,Oracle bug之vipca无法执行问题的解决
- mysql新增加密字段_mysql字段加密
- SilverLight幻灯片
- 受力分析软件_基于非线性分析的建筑结构设计与优化
- selenium进行网页长截图,模块长截图
- 利用fitz将pdf文件的每一页输出为高精度的PNG图片
- 数列极限的性质与判定
- 将excel表数据顺序与linux,Excel中表格数据进行颠倒顺序的设置方法
- 注塑成型缺陷熔接痕产生原因及解决方案
- MatConvNet的excise 3改为网络配置文件形式
- 一锁知千秋,再和腾讯大佬的技术对话,我还是小看锁了!面试加分的答案都已安排
- Excel数据分析(七)第六章数据透视表
- 什么是编译程序(含翻译程序、解释程序和中间代码的定义介绍)
- Oracle学习——第四讲(增删改查)
- 效率值计算机公式,工作效率提升怎么计算(学会十个Excel公式)
热门文章
- 怎样取消连续包月自动续费_苹果手机连续包月会员怎么取消 设置iPhone解除应用自动续费...
- android h5 有广告,那些H5在Android上显示的丧心病狂的坑
- latex 算法_GitHub项目awesome-latex-drawing新增内容(四):绘制贝叶斯网络
- java实验报告合肥工业大学_合肥工业大学数据结构上机实验代码与实验报告(全)github地址...
- g标签 怎么设置svg_SVG g元素
- 儒林外史每回概括简短10字_早安心语正能量经典短句 一句话的简短励志语录
- c语言比较大小 谁大选谁,C语言比较优先级
- html input 上标,javascript – 文本类型的输入字段中的上标
- 打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...
- unity 彩带粒子_iOS动画开发----粒子系统---彩带效果