Spring相关原理总结
BeanFactory和ApplicationContext两者关系 BeanFactory ApplicationContext 早期接口,被称为Spring的Bean工厂 后期更高级接口,称之为Spring 容器 BeanFactory的API更偏向底层 API大多数是对BeanFactory底层API的封装;且有更多的拓展功能:监听功能、国际化功能等 封装了Bean创建的主要逻辑和功能 继承了BeanFactory的功能 Bean的初始化时机不同,原始BeanFactory是在首次调用getBean时才进行Bean的创建 ApplicationContext则是配置文件加载,容器一创建就将Bean都实例化并初始化好。 在Spring基础环境下,常用的三个ApplicationContext作用 实现类 功能描述 ClassPathXmlApplicationContext 加载类路径下的xml配置的ApplicationContext FileSystemXmlApplicationContext 加载磁盘路径下的xml配置的Applica ...
常用IDE的技巧
Eclipse代码换行 Alt + Shift + Y 查看源码 F3 查看类继承和实现关系 F4或Ctrl + T 查看方法的调用层次 Ctrl+Alt+H xml开启代码提示 Alt + / 查找某个类文件 Ctrl+Shift+T
spring初始化一个项目
创建一个spring项目Spring相关jar包 官方下载链接 https://repo.spring.io/ui/native/release/org/springframework/spring/ spring依赖的日志包 http://commons.apache.org/proper/commons-logging/download_logging.cgi 存放 jar包以及加载 解压后将相关jar包放在工程的lib目录下。 在eclipse中查看源码 快捷键是F3 用maven项目,可以看源码? 这里介绍普通Java项目中的spring项目怎么看源码。 介绍如何使用Gradle查看源码 下载spring-Frame源码 github https://github.com/spring-projects/spring-framework/tags 在普通Java项目中查看源码下载完源码后,在需要查看源码的地方如某个注解,按F3,在下图页面中,点击Attach Source 使用文件夹的方式,选择上一步下载的源码解压后的目录。 使用Gradle查看源码安装Gr ...
Java之Spring AOP面向切面编程
AOP面向切面编程用于解决系统层面上的问题,比如:日志、事务、权限等待。它是一种编程范式,不是编程语言。 优点以及一些概念1、AOP的优点 降低模块之间的耦合度 使系统更容易扩展 更好的代码复用 非业务代码更加集中,不分散,便于统一管理 业务代码更加简洁纯粹,不掺杂其他的代码的影响 2、AOP中出现的一些概念 横切关注点 对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点 Aspect 切面 通常是一个类,里面可以定义切入点和通知。 JointPoint 连接点 连接点是在应用执行中能够插入切面的一个点。即程序执行过程中能够应用通知的所有点。 程序执行过程中明确的点,一般是方法的调用。 被拦截到的点,因为Spring只支持方法类型的连接点,所以在Spring中连接点指的就是被拦截到的方法,实际上连接点还可以是字段或者构造器。 Advice 通知 AOP在特定的切入点上执行的增强处理 Pointcut 切入点 就是带有通知的连接点,在程序中主要体现为书写切入点表达式 Weaving 织入 将切面应用到目标对象,并创建新的代理对象的过程。 切面在指定的连 ...
Java之SpringBoot数据库API Part2
接上一节,SpringBoot数据库API 数据库事务 TestTransController.java 事务,要么完全执行,要么完全不执行。 添加@Transactional注解,表明操作为事务。 当不加注解运行时,第一条记录会被添加至表中,但第二条记录会报错。 12345678910111213141516171819202122232425262728293031package com.mysqlapi.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import com.mysqlapi.entity.User;import com.mysqlapi.repository.UserRepository;import jakarta.tr ...
Java之SpringBoot数据库API
接上一节,SpringBoot连接数据库。 设计操作数据库的API,让数据库操作更加便捷。 设计Restful API 请求方式 路径 功能 GET /users 获取所有用户信息 GET /users/{id} 查询单条记录 POST /adduser 创建一条用户记录 PUT /users/{id} 更新单条记录 创建数据库接口 UserRepository.java 继承JpaRepository接口 可以自定义一些方法。此处我选择直接使用继承的方法,就不写其它东西了。 1234567package com.mysqlapi;import org.springframework.data.jpa.repository.JpaRepository;public interface UserRepository extends JpaRepository{ } JpaRepository接口类 这个接口又继承了ListCrudRepository<T ...
Java之SpringBoot连接数据库
Hibernate SpringBoot 添加依赖 jpa用于连接增删改数据库的 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency> mysql连接驱动 12345<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope></dependency> 12345<!-- 我使用下面这个驱动会报错 --> <dependency> <groupId>mysql</groupId> <artifa ...
Java之ArrayList动态数组
参阅:https://www.runoob.com/java/java-arraylist.html 什么是ArrayList? ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 继承了 AbstractList ,并实现了 List 接口。 语法格式123import java.util.ArrayList; // 引入 ArrayList 类ArrayList<E> objectName =new ArrayList<>(); // 初始化 ArrayList提供的方法add方法 添加元素至数组中。 12345678910import java.util.ArrayList; // 引入 ArrayList 类public class TestArrayList {public static void main(String[] args){ ArrayList<String> animals =new ArrayList<S ...
Python之matplotlib模块
参阅:http://c.biancheng.net/matplotlib 使用matplotlib绘制可视化图形正确显示中文12plt.rcParams['font.sans-serif']=['SimHei']#正确显示汉字plt.rcParams['axes.unicode_minus']=False #正确显示负号 axes类legend函数 创建图例 1ax.legend(handles, labels, loc) labels 是一个字符串序列,用来指定标签的名称; loc 是指定图例位置的参数,其参数值可以用字符串或整数来表示; handles 参数,它也是一个序列,它包含了所有线型的实例; 更多参数(frameon,ncol等等) 报错解决方案 This application failed to start because it could not find or load the Qt platform plugin “windows”in “”.Reinstalling the applicati ...