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:

 JAVA中Framework浅谈_第1张图片

step02:

 JAVA中Framework浅谈_第2张图片

 

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

2.2. 项目配置

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

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

JAVA中Framework浅谈_第3张图片

3. Java 版本配置(Project facets)

 JAVA中Framework浅谈_第4张图片

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

项目基本架构:


JAVA中Framework浅谈_第5张图片

 

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)

如下架构图:简单了解.

 JAVA中Framework浅谈_第6张图片

 

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容器.(讨论实现)

 

你可能感兴趣的:(Java框架之Spring,Spring,JAVA框架)