web后台开发入门了解
来源:互联网 发布:yii2 cms管理系统 编辑:程序博客网 时间:2024/05/17 12:05
模型(Model)-视图(View)-控制器(Controller)(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式。适应于大型项目开发。
其中Model层对应实体对象(entity object):
通常是来自域模型中的对象(也就是现实世界),它常对应于数据库表和文件,这些数据表和文件中存储了执行用例所需的数据。有些实体对象是“临时”对象(如搜索结果),当用例结束后将消失。
View层对应边界对象(boundary object):参与者使用它来同系统交互,这通常包含窗口,屏幕,对话框和菜单。如果有GUI原型,将会知道许多主要的边界对象是什么。
Controller层控制对象(control object):
将边界对象和实体对象关联起来(通常被称为控制器,因为它们通常不是真正的对象),它包含了大部分应用逻辑,它们在用户和存储的数据之间架起一座桥梁。控制对象中包含经常修改的业务规则和策略。这样修改只需要在这些对象中进行,而不会涉及到用户界面和数据库模式。控制器偶尔 (20%的时间内)也会是设计中的“真正对象”,但大部分时间内,控制器只是一个占位符,用于避免您遗漏用例要求的任何功能和系统行为。
其中代码中常用的层:
原来的Model层不见了,增加了service层和DAO层。DAO,即Data Access Object,数据访问接口,数据访问:顾名思义就是与数据库打交道。
在这个结构中,control不直接和DAO联系,需要操作数据的时候,通过service层访问DAO层来实现。Service层做的事情,不仅仅是调用DAO操作数据,还会包含了一定的业务逻辑。整个程序的设计,也变成了针对服务进行设计。其中Service层实现时会是一些api接口。
图片和mvc模型内容详情可见http://www.cnblogs.com/daizhj/archive/2009/04/30/1447035.html
SpringMVC中四个基本注解:
看字面含义,很容易却别出其中三个:
@Controller 控制层,就是我们的action层
@Service 业务逻辑层,就是我们的service或者manager层
@Repository 持久层,就是我们常说的DAO层
而@Component (字面意思就是组件),它在你确定不了事哪一个层的时候使用。
其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中;
但是在项目中,却建议你严格按照除Componen的其余三个注解的含义使用在项目中。这对分层结构的web架构很有好处!
示例:
1. 控制层
@Controller // 注释为controller
@RequestMapping("/login")
public class LoginAction {
@Autowired
@Qualifier("userService") //注释指定注入 Bean
private IUserService userService;
。。。。。。 其他略 。。。。。。
}
2. 业务逻辑层
@Service("userService")
public class UserServiceImpl implements IUserService {
@Autowired
@Qualifier("userDao")
private IUserDao userDao;
。。。。。。 其他略 。。。。。。
}
3. 持久层
@Repository("userDao")
public class UserDaoImpl implements IUserDao {
private static Logger logger = LoggerFactory.getLogger(UserDaoImpl.class);
private DataSource dataSource;
private JdbcTemplate template;
@Autowired
public UserDaoImpl(DataSource dataSource){
this.dataSource= dataSource;
template = new JdbcTemplate(this.dataSource);
}
转自http://java.chinatarena.com/jsfx/1936.html#6d
这里我们用到的是spring mvc框架。spring是一个大的jar包,与jetty容器直接交流,其中spring使用mvc模式,其上有简单介绍。之后把一系列文件诸如html,css,js文件一起打包部署到jetty容器中,然后当用户发送一个url,实现后台程序。
spring core 主要有两个,即 Bean Factory 和 Aop(面向切面)。
面向切面指Spring包含对面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统服务(例如审计与事物管理)进行内聚性的开发。应用对象只做它们应该做的去完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统关注点,例如日志或事物支持。AOP 作用:
1 监控函数的调用
2 捕获异常发生
实际应用在:事务、安全、日志等横切关注。
切面(Aspect):对横切关注点的抽象(类似类对对象的抽象)
连接点(JoinPoint):被拦截到的点,泛指方法
切入点(CutPoint):对哪些连接点进行拦截的定义
通知(Advice):在特定的连接点,AOP框架执行的动作.前置/后置/例外/最终/环绕通知(调用方法之前执行,全部执行完毕之后)
引入(Introduction): 添加方法或字段到被通知的类。 Spring允许引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现 IsModified接口,来简化缓存。
目标对象(Target Object): 包含连接点的对象。也被称作 被通知或被代理对象。
AOP代理(AOP Proxy): AOP框架创建的对象,包含通知。 在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。
织入(Weaving): 组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样, 在运行时完成织入。
Bean Factory:Spring包含和管理应用对象的配置和生命周期,在这个意义上它是一种容器。你可以配置你的每个bean如何被创建。基于一个配置原形为你的bean创建一个单独的实例(单独工厂)或者每次需要时都生成一个新的实例(普通工厂)以及它们是如何相互关联的。
- web后台开发入门了解
- Node.js开发web后台入门
- 后台开发了解
- Web前端入门了解
- java web开发入门必须要了解的基本知识
- 黑马程序员--web开发入门之了解tomcat服务器
- web 开发了解
- web开发了解
- web后台+ajax开发
- app后台开发入门
- Web Service快速入门了解
- Web Service快速入门了解
- NDK开发基本入门了解
- 礼拜五log~对于tomcat java web开发链接的入门了解
- WEB开发、前台后台概念
- python, web 以及 后台开发
- java下开发web后台
- 了解Java Web——入门
- Core Image 和视频
- 【转载】为什么无线信号(RSSI)是负值
- Android Studio获取SHA1(获取SHA1的通用方法)
- [solr] - spell check
- 有用的blog
- web后台开发入门了解
- memcached binary protocol
- Android面试题
- XML读写之SAX
- 全面复习之SQL(9)-oracle多表查询,连接查询
- [solr] - suggestion
- 文件操作(汇总)
- [WXApi isWXAppInstalled]返回不准确问题
- [solr] - Facet