掌握企业级JAVA项目基本架构
掌握企业级JAVA项目核心应用框架
掌握企业级JAVA项目核心开发要点及流程
掌握企业级京淘项目中的权限子系统开发
1. 企业级框架(Framework)
1)服务端框架:Spring ,Spring MVC,MyBatis,Shiro
2)客户端框架:Bootstrap,AdminLTE,JQuery(Ajax)
3)项目构建工具:Maven(项目的构建工具)
4)单元测试框架:Junit
2. 企业级项目(Project)
1)项目权限管理子系统
2)基于权限子系统进行其它模块扩展
企业级项目环境,项目技术
知识点涵盖面广,综合性强
重实际操作,解决问题的能力(包括排错能力)培养
紧跟趋势,直接面向就业,难度系数高.
拒绝思维上的懒惰,习惯于深度思考与总结。(不能总是照抄照搬)
提高英文阅读能力,实际动手能力。(实践检验真理)
Eclipse切换到新的工作区,设置工作区编码方式为utf-8.
将企业项目导入并拷贝到eclipse新的工作区。
step01:
step02:
说明:项目中的问题,后续通过项目配置进行完善。
1. Maven 配置(参考doc.aliyun.com):了解
2. 运行时环境配置(Targeted runtimes)
3. Java 版本配置(Project facets)
将数据库文件导入到mysql数据库.
假如是命令行导入,需要:
1) 设置客户端编码 set names utf8
2) 命令执行sql文件: source d:/jt_sys.sql
说明:
1) 是否需要设置客户端编码与sql文件的编码有关.
2) 查询显示时假如有乱码,先在客户端设置set names gbk,然后再次查询.
项目部署运行步骤
1) 修改访问数据库的地址,用户名,密码.(本项目修改config.properties)
2) 将项目部署到tomcat端.(假如没有tomcat先配置tomcat)
3) 访问项目:http://localhost:8080/CGB-JT-SYS-V1.03/indexUI.do
项目基本架构:
1)软件是什么?(程序和文档的集合)
a)程序(数据结构+算法)
b)文档(需求+设计+培训)
2)软件是做什么的?(解决问题的)
a)不想外出购物?(天猫,淘宝,京东,...)
b)出门打车苦难?(滴滴,神州租车,...)
c)出行最后一公里?(共享单车)
d)不想外出吃饭?(外卖)
e).............
3)如何更快的研发一个软件呢?
a)找人
b)找框架
1)框架是什么?(一种半成品,一种经验的总结,一些模式的综合)
2)框架的应用优势?(提高开发效率,降低企业成本)
3)框架中的技术点?(面向对象,反射,xml,注解,模式,...)
例如:spring,spring mvc,mybatis,....
1. Spring 是什么?
1) 企业级应用中的一个框架(Framework)
2) 企业级应用中的一个半成品.(软件的一部分)
2. Spring 要解决什么问题:
Spring 从2.x到4.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)
对如下架构图:简单了解.
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) 对象结构的可读性降低了.
Spring IOC项目构建基本步骤
1. 创建java项目
2. 添加spring 依赖及配置文件(applicationContext.xml)
3. 编写并配置java类(beans.HelloService)
4. 初始化容器,获取java对象
1. Spring 框架理论
2. Spring IOC及基本实现
1. 如何理解软件中的框架?
2. Spring 框架从哪些维度解决问题?
3. Spring IOC 优势以及劣势?
4. .......
1. 总结课堂知识点
2. 完成课堂项目案例
3. 尝试阅读doc.tedu.cn地址中maven小结,尝试创建maven项目.
4. 尝试自己写一个基于xml的spring容器.(讨论实现)