JAVA中Framework浅谈

     Framework

Spring

1. 概述 1-1

1.1. 目标 1-1

1.2. 内容 1-2

1.3. 特点 1-2

1.4. 学习 1-2

2. 阶段项目展示 2-2

2.1. 项目导入 2-2

2.2. 项目配置 2-3

2.3. 数据初始化 2-3

2.4. 项目部署运行 2-3

3. 企业级软件及框架概述 3-4

3.1. 软件概述 3-4

3.2. 框架概述 3-4

4. Spring 应用基础 4-5

4.1. Spring 简介? 4-5

4.2. Spring IOC 简介 4-6

4.3. Spring IOC 编程 4-6

5. 总结 5-7

5.1. 重点和难点分析 5-7

5.2. 常见FAQ 5-7

 

1.1. 课程目标

掌握企业级JAVA项目基本架构

掌握企业级JAVA项目核心应用框架

掌握企业级JAVA项目核心开发要点及流程

掌握企业级京淘项目中的权限子系统开发

 

1.2. 课程内容

1. 企业级框架(Framework)

 

1)服务端框架:Spring ,Spring MVC,MyBatis,Shiro

2)客户端框架:Bootstrap,AdminLTE,JQuery(Ajax)

3)项目构建工具:Maven(项目的构建工具)

4)单元测试框架:Junit

 

2. 企业级项目(Project)

 

1)项目权限管理子系统

2)基于权限子系统进行其它模块扩展

 

1.3. 课程特点

企业级项目环境,项目技术

知识点涵盖面广,综合性强

重实际操作,解决问题的能力(包括排错能力)培养

紧跟趋势,直接面向就业,难度系数高.

 

1.4. 课程学习

 

拒绝思维上的懒惰,习惯于深度思考与总结。(不能总是照抄照搬)

提高英文阅读能力,实际动手能力。(实践检验真理)

 

2. 阶段项目展示

 

2.1. 项目导入

Eclipse切换到新的工作区,设置工作区编码方式为utf-8.

将企业项目导入并拷贝到eclipse新的工作区。

step01:

 

step02:

 

 

说明:项目中的问题,后续通过项目配置进行完善。

2.2. 项目配置

1. Maven 配置(参考doc.aliyun.com):了解

2. 运行时环境配置(Targeted runtimes)


3. Java 版本配置(Project facets)

 

2.3. 数据初始化

数据库文件导入到mysql数据库.

假如是命令行导入,需要:

1) 设置客户端编码 set names utf8

2) 命令执行sql文件: source d:/jt_sys.sql

 

说明:

1) 是否需要设置客户端编码与sql文件的编码有关.

2) 查询显示时假如有乱码,客户端设置set names gbk,然后再次查询.

 

2.4. 项目部署运行

项目部署运行步骤

1) 修改访问数据库的地址,用户名,密码.(项目修改config.properties)

2) 项目部署到tomcat.(假如没有tomcat先配置tomcat)

3) 访问项目:http://localhost:8080/CGB-JT-SYS-V1.03/indexUI.do

项目基本架构:



 

3. 企业级软件及框架概述

3.1. 软件概述

1)软件是什么?(程序和文档的集合)

a)程序(数据结构+算法)

b)文档(需求+设计+培训)

 

2)软件是做什么的?(解决问题的)

 

a)不想外出购物?(天猫,淘宝,京东,...)

b)出门打车苦难?(滴滴,神州租车,...)

c)出行最后一公里?(共享单车)

d)不想外出吃饭?(外卖)

e).............

 

3)如何更快的研发一个软件呢?

a)找人

b)找框架

3.2. 框架概述

1)框架是什么?(一种半成品,一种经验的总结,一些模式的综合)

2)框架的应用优势?(提高开发效率,降低企业成本)

3)框架中的技术点?(面向对象,反射,xml,注解,模式,...)

 

例如:spring,spring mvc,mybatis,....

 

4. Spring 应用基础

4.1. Spring 简介

1. Spring 什么?

1) 企业级应用的一个框架(Framework)

2) 企业级应用中的一个半成品.(软件的一部分)

 

2. Spring 解决什么问题:

Spring 2.x4.x版本在经历着不不断的变化,已经由最初的

IOC,AOP等发展到了现在的微服务(Spring Cloud),Spring 现在

已经从某个维度问题的解决,扩展了多个维度问题的解决.例如

面向对象,面向切面,面向服务.

 

1) 对象的构建(回顾项目对象如何构建的,用到了就new,这样有什么弊端)

2) 对象的管理(对象进行更加科学管理,防止内存泄露)

3) 对象依赖注入(对象间存在依赖关系)

4) 对象功能的扩展(用户需求在不断变更)

5) 对象粒度问题(微服务,订单系统,库存系统,广告系统,评价系统,....)

 

维度分析

1) 面向对象 (静态角度分析系统问题,解决系统问题)

2) 面向切面 (动态角度分析系统问题,解决系统问题)

3) 面向服务 (粒度角度分析系统问题,解决系统问题)

 

3. Spring 核心组件

1) IOC  容器(控制反转容器):对象创建,对象存储,对象注入

2) WEB 组件(重点解决MVC细节问题)

3) AOP  组件(重点解决对象功能扩展问题)

4) DATA 组件(整合JDBC,MyBatis,JPA,....)

5) ......

 

4. Spring 核心架构

 

Spring 最初的目标就是要整合一切优秀资源,然后对外

提供一个统一的服务,具体架构(Spring 4.0)

如下架构图:简单了解.

 

 

4.2. Spring IOC 简介

Spring 有一个核心容器,这个容器我们通常称之为IOC容器,这个容器

最核心功能就是控制反转.这个容器负责对象的创建,对象的存储(map),

对象管理(依赖查找,依赖注入).

思考:

1) IOC 容器如何实现?

1.1) 容器如何知道创建哪些对象(通过xml或注解方式告诉容器)

1.2) 容器如何构建这些类的对象(通过反射技术,Class.forName(""))

1.3) 容器如何存储这些对象?(通过Map容器进行存储)

2) IOC 大的优势以及劣势

2.1) 大优势

a)重新编译,只需要配置.

b)更好的使用内存,防止内存泄露

c)更好解耦和.

2.2) 大劣势

a) 构建对象的过程变的复杂了.

b) 对象结构可读性降低了.

 

4.3. Spring IOC 编程

Spring IOC项目构建基本步骤

 

1. 创建java项目

2. 添加spring 依赖及配置文件(applicationContext.xml)

3. 编写并配置java(beans.HelloService)

4. 初始化容器,获取java对象

5. 总结

5.1. 重点和难点分析

1. Spring  框架理论

2. Spring  IOC基本实现

 

5.2. 常见FAQ

1. 如何理解软件中的框架?

2. Spring 框架从哪些维度解决问题?

3. Spring IOC 优势以及劣势?

4. .......

学习总结:

1. 总结课堂知识点

2. 完成课堂项目案例

3. 尝试阅读doc.tedu.cn地址中maven小结,尝试创建maven项目.

4. 尝试自己写一个基于xmlspring容器.(讨论实现)

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
框架说白了就是JAVA工作者多年以来总结出的一些开发标准。让我们可以以成功的经验模式来开发我们自已的系统,一般使用框架的好处是 ·在好的框架下,开发者只需要写一些必须的代码;他们不需要直接接触底层的API。 这一点很重要。 ·经过良好设计的框架可以为程序提供清晰的结构并且提高程序的内聚性。好清晰的结构使得其他人可以更容易加入项目。 ·一个容易使用的框架可以通过一些例子和文档为用户提供最佳实践。 ·采用成功的框架的代码比自己的代码容易测试 J2EE本身提供了一些框架。比如, Enterprise Java-Beans (EJB) container或者 Servlet engine 而这些框架一般在小工程我们都不会使用,会让我们把大量的时间浪费在开发框架上。 而现在比较流行开源框架,主要是struts,hibernate,spring等 比如struts是在原有mvc基础上实现在代码分离等功能,非常好用。 而hibernate可以把我们的关系型数据库转换成我们在JAVA的面像对像来使用。从而让我们在开发时不需要直接写SQL语句,比如database.getName();就可以直接把数据库的用户名取出来。 Spring J2EE框架被大规模地运用到项目,而项目总要负责这些框架以及自己业务代码的连接,使之真正融合到一起。Spring就是专注于这个问题的,它和Hibernate融合的很好。 这三种框架在一起并不冲突,所以现在最常用的框架就是 struts+hibernate+spring就像我们盖房子一样,先把框架搭好,我们在在上面写代码就很规范。 Struts框架介绍 : Struts只是一个MVC框架Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的 Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实 现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 就是说可将两者一起使用,达到将两者自身的特点进行互补。 spring 框架介绍 : 它关注的领域是其他许多流行的Framework未曾关注的。Spring要提供的是一种管理你的业务对象的方法。 Spring既是全面的又是模块化的。Spring有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致。 因此你能从你的学习,得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 它的设计从一开始就是要帮助你编写易于测试的代码。Spring是使用测试驱动开发的工程的理想框架Spring不会给你的工程添加对其他的框架依赖。Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑到的内容。 尽管它仅仅是一个从2003年2月才开始的开源项目,但Spring有深厚的历史根基。 Spring架构上的好处 在我们进入细节之前,让我们来看看Spring能够给工程带来的种种好处: Spring能有效地组织你的间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的frameworkSpring致力于解决剩下的问题。 Spring能消除在许多工程常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个 魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值