10天企业框架培训笔记
实训技术
了解
1. springboot
2. maven
3. git/github
4. swagger
5. 数据库技术
6. 数据建模
7. 团队协作(github)
8. 打包,上线(阿里云【一年 9.8】)
linux/windows B/S架构
--------------作业-------------
1) 注册github账号 1000亿 100
github
小米
百度
无人驾驶
京东
2) 软件公司
1. 管理层
合伙人
会计(代理记账)
招人
Java工程师 5(后台开发) 作坊
前端工程师 5(前端开发)
手机端开发(android ios) 0(技术支持)
产品经理
运维(linux) 运行部署
测试
大数据(大公司)
2. 地点,写字楼
团队构成
职业规划(软件工程 IT)
1. 如何看待IT
加班
朝九晚五 上五休二
项目交付前
头发少
成家问题
2. 如何积累
精通语言 Java
对于其他语言有所了解
github 开源项目,贡献源码
自主学习能力(springboot 官方文档 英文)
熟悉 linux(开源C)
社会担当
大牛
学生管理系统
二手交易网
weex
3. 如何成长
3) 开发环境
ThinkPad T480P (8000 固态+16G内存,港版)
windows7
Java开发
Java学习(linux[ubuntu,centos])
mac pro(苹果系统) 类Linux系统(10000)
前端
html/css/ps/vue/angularjs/React
学习路线
大二
JavaSE (基础学习 c/s)
linux 5天
CoreJava 20天
XML解析 2天
MySQL 5天
JDBC 5天
Mybatis/Hibernate
5天(ORM框架)
JavaEE (企业级开发 b/s)
Servlet/JSP
spring(基础学习)
分步骤进行
核心框架 context
依赖注入
面向切面
解决问题能力(基础)
springmvc
本科生应届生
SSM框架(spring springmvc mybatis)
实战工具(提分)
maven 项目管理工具
git 版本控制工具
github 第三方代码托管(团队协作)
swagger API文档(交流)
JVM java虚拟机
分布式部署经验,大量并发,产品上线
能力!
解决问题能力(bug/处理事情方法)
学习能力
成熟稳重(处理问题)浮躁
角度(视角)
------------------------
10人/组
3小时 -- 5小时
上课听明白(如果有能力跟上敲代码)
下课落实代码
出了问题自己解决
实在解决不了小组内部沟通
问老师
day01
1. 基础环境搭建
1) 安装jdk
1. 下载对应的jdk版本 (oracle官网 jdk8 )
2. 安装
1) 解压 (下一步)
2) 配置环境变量
JAVA_HOME Java的家目录
CLASSPATH 类加载路径
Path
2) helloworld
1. 手动编写Helloworld
1) 创建项目
2) 搭建项目结构
3) 进行代码编写
4) 编译代码
5) 运行
Java 编译型语言
源代码
Hello.java
字节码(提升代码运行效率,代码保密)
Hello.class
2. 刚刚那个题是不是只能在
/home/briup/Java/example/app01这个目录下运行?
是!
怎么找到这个类
java -cp /home/licy/.../app01/bin com.briup.test.Hello
类加载机制CLASSPATH
双亲委托机制
1) 打包 jar test.jar
2) 将test.jar放入到扩展类加载中
3) 直接运行即可
3. test.jar能不能直接运行呀?
java -cp test.jar com.briup.test.Hello
2. mysql
乱码
3. eclipse
4. 归档能力(管理)
pc
(虚拟机[windows,linux])
c:
d:
e:
f:
d:/briup/
elipse(解压即安装)
workspace
源码
maven
respository
spring
5. 树莓派
6. windows应用
WIN+r 打开运行
WIN+e 打开资源管理器
----------
1. 9.9 阿里云(windows)
2. teamview 远程工具
C:\ProgramData\Oracle\Java\javapath;
C:\windows\system32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
c:/qq/bin/
dos
dir
java
root
day02-------------------------
基础开发环境
springboot(SSM)
JavaSE
JavaEE
SSH
1. jdk
2. mysql
1) 执行数据库启动的时候/写入配置文件(一个都无法执行)
c:/program files/Mysql/bin/my.ini
c: 写入权限 (win10)
2) 前三步没问题!最后一步失败(开启了防火墙)
一般情况下第三步可以启动,那么服务一般是可以用
3) 在终端中输入
mysql 找不到命令(环境变量没有配置)
4) 密码
测试mysql服务是否安装成功
在终端中输入
> mysql -u用户名 -p密码 -h主机
> mysql -uroot -proot -h127.0.0.1
不是内部或外部命名,Path
CTRL-C 强制中止一个进程
3. navicator
mysql图形化界面,只要mysql服务安装成功并且启动成功,这个工具才能用
搭建springboot开发环境
1) 安装eclipse / idea (代码编辑工具)
d:/briup (licy)
eclipse 直接解压到当前目录
设置:
Text Fonts
encoding
workspace 工作空间
集成开发工具(耗费系统资源,功能比较强大)
elipse
idea
文本编辑
vim
sublime
editplus
notepad++
2) maven
项目管理工具
1. 创建项目
2. 测试
3. 打包运行
4. 管理依赖
1. jdbc编程
1) 创建项目
2) 获取驱动包
3) 创建数据库以及对应的表
4) 编码
A项目 调用到其类(excel )
查询所有学生信息
下载到excel
Java -> excel (POI)
Java jar包 class
开源
收费(不开源)
springboot (框架)
springmvc
mybatis
swagger
改变(自己封装)
前端
AngularJS(google)
React/ReactNative
尤雨溪
历史
美工 页面仔
前端开发 出国!留学(美国)研究生
google js 研究 插件 google
AngularJS
封装
github
基于vue封装组件库
饿了么 elementui
----------------
Java
java.lang
类 调用 另外一个类
什么情况下不需要导入类
1) 调用的类属于java.lang
2) 调用的类和当前类在同一个包下
java.lang
java.util
java.io
java.thread
java.net
java.sql
语法:
1) 类
成员属性/成员变量/实例变量
成员方法/实例方法
访问修饰符 class 类名 {
访问修饰符 数据类型 属性名;
访问修饰符 返回值数据类型 方法名(形式参数){
return
}
}
public class Student{
private String name;
public void sayName(){
System.out.println(this.name);
}
public String getName(){
return this.name;
}
}
只有包含main方法的类才能被执行,并非所有类中都需要main方法
jdbc编程
1. 手动获取jar包(class打包的文件,方便程序员进行调用)
mysql-connector-xxx.jar
提供java链接mysql数据库的支持
sun原生代码不支持直接链接数据库
调用第三方API(应用程序编程接口)
如何获取jar包???
官网(英文)
2. spring
spring和mysql的jar会不会冲突?
maven(项目依赖)
bin
src
javac -d ./bin src/Hello.java
java -cp ./bin com.briup.test.Hello
cp classpath
1) 解压maven到briup目录下
2) 配置环境变量
M2_HOME
Path
3) 解压本地仓库
将repository解压到briup目录下
4) 配置本地仓库地址
在c:/briup/maven_xxx/conf/settings.xml配置本地仓库
5) 在eclipse中配置maven
1. 安装
2. user settings
3. 如何配置项目框架
jdbc mysql依赖
spring spring+jdbc开发
spring+web spring+springmvc+jdbc
spring+web+mybatis
ssm框架
springboot(项目架构)
1) 解压springboot到briup目录下
2) 配置环境变量
SPRING_HOME
Path
开发简单,难在架构
Student
Course
Clazz
StudentDao
CourseDao
Clazz
jdbc(mybatis)
4. 使用springboot创建开发项目
调用spring官方给我们提供的服务,也就是说让spring来帮我们创建项目,我们只需要告诉它我们的项目组id,项目id,项目名称,项目依赖即可。spring创建完毕之后我们可以进行下载,这样就拥有一个基于spring的项目。
进入到workspace目录下
> spring init -g=com.briup -a=app01 -d=web,mysql app01
> cd app01
> mvn install
> mvn spring-boot:run
打开浏览器,在浏览器地址栏中输入
http://localhost:8080
spring init [参数] 项目名称
spring init app
-g groupId 项目组id
-a artifactId 项目id
-d dependency 项目依赖
mysql 驱动依赖
web springmvc的依赖
-p package 打包方式
briup/app01
pom.xml
下载sublime(editplus)
5. b/s架构
Java 执行Java类
1. 查询班级学生信息
Main.java
jdbc 访问数据库 查询学生信息
2. 查询班级学生信息
www.terry.com/sms/
1) 网页(H5工程师/前端工程师/JSP)
1. 列表显示所有学生信息
2. 统计图-统计学生出勤率 (班牌系统-产品)
2) 数据来源!!!
数据库
|
程序读取
|
发送给前端开发者(http协议、ajax、json)
6. 添加热部署能力
当修改了代码为了能给直接进行测试而不需要重新启动服务所添加的一种能力。
在pom.xml添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
7. 添加swagger
1) 在pom.xml添加依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
2) 配置
----------------day04----------------
1. 使用springboot创建一个项目,并且这个项目具有热加载能力,能提供swagger服务,提供ssm框架
1) 将dos盘符切换到workspace下
2) 在dos中执行如下命令
> spring init -g=com.briup -a=app02 -d=web,mybatis,mysql app02
命令结束后在当前目录下会产生一个新的项目,项目名称叫app02
3) 进入app02项目根目录下,然后执行添加依赖操作
> cd app02
> mvn install
4) 通过eclipse打开项目
file-> open projects from file system
5) 添加热部署能力
在 pom.xml中添加依赖信息
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
6) 添加swagger api能力
在 pom.xml中添加依赖信息
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
右击项目名称 -> maven -> update project
配置
Swagger2.java导入到项目中(延缓)
7) 进行代码编写
com.briup.app02
bean
dao
service
web
controller
TestController.java
8) 启动项目进行测试
> mvn spring-boot:run
1) 测试项目 TEST,如果项目中出现错误,启动失败
2) 打包项目 target
3) 启动tomcat服务器
4) 将项目部署到tomcat中
JavaEE(servlet/jsp)
腾讯云服务器(小程序,微信公众号) 9.5 linux
tomcat
cd tomcat_home/bin/start.sh (shell编程)
8080
本地访问
http://127.0.0.1:8080 访问到
外网访问
http://120.78.164.247:8080 访问不到
防火墙(安全组)
安全组如何配置
9) mybatis的应用
1. 将mybatis集成到当前项目中(原理)
springboot
2. 使用mybatis ORM
1) 表 tbl_student(id,name,age)
2) pojo类 Student(id,name,age)
3) mybatis应用
1. 映射接口
public interface StudentMapper{
Student findById(long id);
}
2. 映射文件 xml
sql语句
<mapper namespace="映射接口的完整名称">
<select id="接口中的方法名" resultType="将查询到的结果封装到对象中">
select * from tbl_student
</select>
</mapper>
3. 告诉给mybatis映射接口和映射文件放置到什么地方
dao
StudentMapper.xml
mapper
StudentMapper.xml
1) 映射接口
@MapperScan("com.briup.app02.dao")
到包com.briup.app02.dao包中寻找映射接口
2) 映射文件
application.properties
mybatis.mapper-locations= classpath:/mapper/**/*.xml
到项目根目录下mapper目录下寻找映射文件
数据访问层代码已经开发
4)
jdbc的封装
dao
public class StudentDao
findAll(){
try{
//1. 加载驱动
//2. 获取连接
//3. 预处理sql
//...
}catch(){
}
}
findById(){
}
delete(){
}
---------------------day05---------------------
1. 回顾
ssm框架代码编写
1) 搭建ssm框架
> spring init -g=com.briup -a=app02 -d=web,mybatis,mysql app02
2) 安装依赖
> cd app02
> mvn install
Test
报错:合适的driver
3) 通过eclipse打开项目
application.properties
spring.datasource.url
spring.datasource.driver-class-name
spring.datasource.username
spring.datasource.password
4) 搭建三层架构
com.briup.app02
config
bean
dao
service
impl
web
controller
5) 数据访问层的编写
bean
Student.java
dao
StudentMapper.java
resources
mapper
StudentMapper.xml
配置(只需要配置一次)
1) MybatisConfig.java
@MapperScan("com.briup.app02.dao")
2) application.properties
mybatis.mapper-locations= classpath:/mapper/**/*.xml
6) 业务逻辑层代码
service
IStudentService.java (接口)
findAll() throws Exception;
impl
StudentServiceImpl.java
7) 视图层(控制器层)
web
controller
StudentController.java
@RestController
@RequestMapper("/student")
public class StudentController {
@GetMapping("findAllStudent");
public void findAllStudent(){
}
}
8)提供统一的返回格式
{
code:200
message:"买到了"
data:{
id=1,
name:"怡宝“,
price:2
}
}
9)代码共享
github仓库地址
https://github.com/ZouZeBin/sms1.0.git
sms1.0
[core]
repositoryformatversion = 0
filemode = false
logallrefupdates = true
[user]
name=ZouZeBin
email=1240125675@qq.com
[remote "origin"]
url = https://github.com/ZouZeBin/sms1.0.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
路由
http://127.0.0.1:8080/student/findAllStudent
Student Course
StudentMapper CourseMapper
IStudentService ICourseService
StudentServiceImpl CourseServiceImpl
StudentController CourseController
坚持把平凡的事情做好就是不平凡(情商)
立功心切
idea
员工 主管 经理 副总 老总
IT公司 能力
宫斗剧(甄嬛传)
职场
===================作业===================
下载 firefox 火狐浏览器,google chrome谷歌浏览器
bean
Student
Course (id,name,credit,description)
dao
StudentDao
findAll
findById(long id)
执行sql
pstmt.executeQuery()
void deleteById(long id)
执行sql
int num = pstmt.executeUpdate()
void update(Student student)
void save(Student student)
CourseDao
....
代码习惯
1. bug认定
如果你能准确描述出问题所在,那么这个问题就解决一半了!
Caused By:完整类名:问题原因
2. eclipse中不要打开过多的选项卡
3. 编写代码的时候养成一个习惯,只要停手就按ctrl+s
4. 格式化代码(良好的缩进)
ctrl+a -> 右击 -> source -> format
10天企业框架培训笔记相关推荐
- Django企业开发实战 高效Python Web框架指南 笔记 (一)
Django企业开发实战 高效Python Web框架指南 笔记 (一) 内容: 作者是 the5fire,他的博客地址:https://www.the5fire.com/957.html 2016年 ...
- 二级VB培训笔记10:知识点串讲
二级VB培训笔记10:知识点串讲 一.对象概述 1.三大特性:封装性.继承性.多态性 参看<VB讲课笔记1202. 二级公共基础 - 程序设计基础> 2.对象的属性 了解VB对象的常用属性 ...
- 软件开发、软件设计培训笔记
一.代码质量的提高培训笔记(2013.11.29): 部分内容摘自网络: 1. struct:注意成员排列顺序. 2. #pragma pack(1) :指定按1字节对齐. 3. ...
- 基于PHP+MySQL的企业员工培训管理系统
时代的发展要求员工拥有越来越高的素质和技能.只有不断地学习,不断地努力,不断地提升自己的个人能力,他能够跟上时代的步伐,才能够在企业中创作更多的业绩才能够在企业中拥有不败之地.另一方面,企业也在积极地 ...
- 10个企业网络安全建议,解决大部分的网络安全问题
10个企业网络安全建议,解决99%的网络安全问题 互联网时代,企业做好网络安全防护非常重要,一旦网络受到恶意攻击,可能会对企业造成一大笔不必要的经济损失. 那么互联网企业该如何做好网络安全防护呢?小墨 ...
- 视频教程-【10天企业定制课】2019年PS软件photoshop/CC应用计划学习视频-UI
[10天企业定制课]2019年PS软件photoshop/CC应用计划学习视频 教学产品线与企业合作项目负责人,移动互联学院教学总监,从事培训与UI/UED课程研发工作多年,拥有数万学员且平均薪资位居 ...
- Spring框架自学笔记
Spring框架自学笔记 第一章 简介 Spring是一套建筑标准,比如承重标准.丈量标准,通风标准等,并规范了结构:框架式结构,浇筑式结构,且定义了建筑的每个组成部分名字与接口,比如电力系统的接口是 ...
- Vue.js 框架基础笔记
Vue.js 框架基础笔记 1. Vue.js 基本概念 1.1 遇见 Vue.js 1.1.1 为什么要学习 Vue.js 1.1.2 前端开发的复杂化 1.1.3 Vue.js 特点 1.1.4 ...
- 27Vert.X框架学习笔记
vert.x框架学习笔记 文章目录 1 Vert.x简明介绍 1.1 Vert.x能干什么 1.2 Vert.x快速体验 1.3 Vert.x的简单介绍 1.4 Vert.x的一些优势 1.4.1 异 ...
最新文章
- MySQL中的CURRENT_TIMESTAMP
- R语言ggplot2可视化分面图(faceting)、编写自定义函数将生成的分面图分裂成多个子图、并按照索引读取对应的可视化图像:Split facet plot into list of plots
- HDU 2704 Bulletin Board
- linux lvm 系统快照,利用Linux LVM进行快照备份
- oracle怎么解析sql,oracle SQL解析步骤小结
- DocumentManager 在标签位置显示气泡框 z
- Java中String类型的数据比较
- 玩转mini2440开发板之【使用nfs无法启动的问题(Virtualbox桥接网络)】
- android 打开谷歌导航,国内开启google位置记录功能/android版google maps 7+上,恢复位置记录功能在国内使用(需root)...
- Python3基础3——List列表的增删改和内建函数的用法
- 从网络营销辞职转行软件测试,100天的心酸拿到9K,过程都是自己在苦撑,只因我...
- asp.net 为FCKeditor开发代码高亮插件实现代码
- 2022新版WIFI营销微信小程序源码+三级分销
- 《Python 快速入门》C站最全Python标准库总结
- 实验 VoIP通信的配置
- FPGA入门必备学习网站和工具
- 长连接和短链接在服务器占用资源,TCP长连接和短链接及优缺点
- u盘如何安装2003服务器系统,怎么用u盘安装2003系统安装教程
- win7安不了python_win7下安装python失败问题
- 快速画圆切线lisp_autolisp中画两圆公切线的程序怎么写?