JDK
# 下载了 Java 8(LTS) macOS ARM64-bit 版本的JDK |
# 在 macOS 系统中, 默认情况下, Java 可执行文件的符号链接位于 "/usr/bin/java" |
JDK(Java Development Kit)是用于开发和编译Java应用程序的软件包。它包含了Java开发所需的各种工具、库和资源。主要组件有:
- Java编译器(javac):用于将Java源代码编译为Java字节码文件。
- Java虚拟机(JVM):执行Java字节码的运行时环境。
- 核心类库(Java Class Library):提供了大量的预定义类和方法,用于常见任务的处理,如字符串操作、输入输出、网络通信、图形用户界面等。
- 调试工具:用于帮助开发人员调试和诊断Java应用程序,如调试器(jdb)和Java虚拟机监视器接口(Java VisualVM)。
- 开发工具:包括用于创建、构建和管理Java应用程序的各种工具,如Java编译器、打包工具(jar)、文档生成工具(javadoc)等。
- 示例代码和示例应用程序:用于帮助开发人员学习和理解Java编程的示例代码和示例应用程序。
- 文档和API参考:包括Java编程语言规范、核心类库的文档、开发工具的使用指南等。
总之,JDK提供了完整的Java开发环境,包括编译器、运行时环境、核心类库、开发工具和文档,使开发人员能够开发、调试和部署Java应用程序。
Apache Maven
# 配置环境变量 |
# 配置阿里云镜像仓库 |
jiangangkong@JiangangdeMacBook-Pro ~ %mvn -v |
可以帮助我们构建项目、管理项目中的jar包
Maven仓库:存放构件(在构建项目时所依赖的插件,Jar包等)的位置
- 本地仓库:默认是~/.m2/repository
- 远程仓库: 中央仓库(Maven官网)、镜像仓库(阿里云)、私服仓库(公司的仓库)
示例:安装、配置、常用命令
IDEA配置maven
如果在选择maven模板时出现问题不能生成项目,就选择Bundled Maven
Spring全家桶
Spring Boot
Spring Boot 核心作用: 起步依赖、自动配置、端点监控
Spring Initializr
创建 Spring Boot 项目的引导工具
底层还是Maven,只是一下子可以整合进来一批Maven依赖
在pom.xml中加入
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop --> |
Spring Frame
Spring Core
- IOC, AOP 【由Spring管理的对象,通常称为bean】
Spring Data Access
- Transactions, Spring MyBatis
Web Servlet
- Spring MVC
Integration
- Email, Scheduling. AMQP. Security
SpringCore - IOC
与Bean相关的注解
类(Bean)上需要有注解才能被扫描。在Spring中,常用的与Bean相关的注解有以下四种:
@Component
: 是最通用的注解,用于将一个类声明为Spring容器中的一个组件。它是其他注解的基础,可以用于任何类。@Repository
: 用于标识一个类为数据访问组件,通常用于DAO(Data Access Object)层的类。@Service
: 用于标识一个类为服务层组件,通常用于封装业务逻辑的类。@Controller
: 用于标识一个类为控制器组件,通常用于处理用户请求的类。
SpringMVC
DispatcherServlet调度MVC, 共同解决表现层的问题
在Spring MVC中,请求首先由前端控制器(Front Controller)即
DispatcherServlet
接收,并将其转发给适当的Controller。Controller处理请求后,将模型数据存储在适当的数据结构中,然后选择合适的视图来呈现响应。最终,视图将模型的数据填充到模板中,并生成响应发送给客户端。
视图层我们要写 两部分代码, 如下图↓
(Thymeleaf根据templates和Model生成View返回给用户, Model已经写好了不用我们写)
Spring MyBatis
整合
在pom.xml中加入
<dependency> |
创建entity包与mapper目录, dao目录下写对应的CRUD业务接口
src/main/resources/application.properties
# Project |
Spring Cloud
Spring Cloud Data Flow
业务
发邮件
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-mail --> |
注册功能
引入字符串判空的依赖
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> |
会话管理
生成验证码
<dependency> |
IDEA调试
响应状态码的含义
1xx:表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
服务端断点调试技巧
IDEA中调试
fn + f7 : 向下执行一行进入调用的方法
fn + f8 : 向下执行一行不进入调用的方法
fn + f9 : 向下执行到下一个断点
客户端断点调试技巧
浏览器中调试
fn + f10 : 向下执行一行不进入调用的方法
fn + f11 : 向下执行一行进入调用的方法
fn + f8 : 向下执行到下一个断点
设置日志级别,并将日志输出到不同终端
springboot 默认集成的是logback
法一:
private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class); |
法二:
IDEA版本控制
BUG
chrome打开不了网页
连vpn访问一次
Cannot resolve Failure to transfer xxx from …
Cannot resolve Failure to transfer com.jhlabs:filters:pom:2.0.235-1 from https://maven.aliyun.com/repository/central was cached in the local repository, resolution will not be reattempted until the update interval of alimaven has elapsed or updates …
在 .m2本地仓库下把相应的*.LastUpdated 删掉