SpringBoot
未读注解开发与Aop注解开发:1. 注解实现自动装配:在使用注解之前我们还需要在bean文件中加入注解驱动(在spring4之后使用注解开发要保证 aop 包导入了):
1234567891011121314151617<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/sch ...
Spring 入门
框架:对高通用性可重用代码进行高质量抽取的一种设计,形成多个可重用的模块集合后而组成对某个领域整体的解决方案。
框架编程流程:导包、编写配置、测试、编写业务。
Spring 简介:
Spring 是一个开源免费,轻量级,非入侵式的框架
重点核心:控制反转( IOC ),面向切面编程( AOP )
支持事务的处理,对其他框架整合支持
弊端 :配置十分繁琐,人称 “配置地狱”
Spring组成:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。
添加 Spring 依赖:由上可知Spring分为许多模块,在使用Spring时我们选择导入 spring-webmvc 依赖。此包中包含了多数我们需要使用的模块。
123456<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> < ...
SpringBoot
未读注解,多表查询与动态SQL,缓存使用注解开发:使用注解进行开发时要注意:注解来映射简单语句会使代码显得更加简洁,但复杂的操作,最好用 XML 来映射语句。
使用注解的方法就不用创建Mapper.xml(可以创建),因此在mybatis-config.xml配置文件中注册映射器时建议使用mapper的class属性利用Mapper接口来注册映射器:
123<mappers> <mapper class="io.github.ruoxijun.mapper.UserMapper"/></mappers>
1. 利用注解查表(@Select):在Mapper接口中定义查询方法,并在方法上使用 @Select注解,参数为SQL查询语句字符串:
12@Select("select * from user")List<UserPojo> getUserList();
使用按正常步骤调用方法即可。
存在多个参数时使用注解方式就能不再利用对象传参了,在参数(参数必须为基本类型)前使用@Param注解并给参 ...
SpringBoot
未读配置文件,日志,分页核心配置文件解析与优化:详情请看:官方配置文档
注意官方规定mybatis-config.xml文件中configuration标签中的配置标签必须遵循如下顺序:
properties → settings → typeAliases → typeHandlers → objectFactory → objectWrapperFactory → reflectorFactory → plugins → environments → databaseIdProvider → mappers
1. 环境配置(environments):从我们熟悉的 environments 标签入手,首先看一下官方提供的环境配置的模板:
12345678910111213<environments default="development"> <environment id="development"> <transactionManager type="JDBC"> ...
SpringBoot
未读MyBatis 入门MyBatis 环境配置与简单查询实例:
MyBatis 就是封装版的 JDBC 简化了对数据库的操作:
MyBatis 中文官网
MyBatis 各版本下载位置
1. 创建maven程序,添加依赖 (jar 包):在 maven 项目文件 pom.xml 下的 dependencies 标签中导入一下依赖(jar包):
MyBatis 依赖:
12345<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version></dependency>
SQL 数据库驱动依赖(根据所使用的数据库自行选择依赖):
12345<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...
Android
未读Android 数据存储
SharedPreferences 轻量级存储:
SharedPreferences是存储共享变量的接口,文件路径位于“/data/data/应用程序包/shared_prefs”目录下的xml文件。
123456// 获取共享文件对象,参1为文件名不存在则创建,参2为操作文件的模式推荐使用:'MODE_PRIVATE'SharedPreferences sp=getSharedPreferences("data",MODE_PRIVATE);// 查看某key数据是否存在sp.contains("key");// 根据key获取value,参2为key不存在时返回的默认值sp.getString("key","defaultValue");
Editor接口为SharedPreferences接口的内部接口,专编辑共享数据。通过共享对象的 edit() 获取到该对象。
1234567// 获取该共享文件的编辑对象Sha ...
SQL
未读MySql 使用与 SQL 语句基础
MySql 使用:
以下操作都是以管理员方式打开 cmd 并切换至安装 MySQL 的 bin 目录下执行:
启动与关闭 MySql :
12net start mysql // 启动mysqlnet stop mysql // 关闭mysql
登录与退出 MySQL 环境:
1234mysql -u用户名 -p密码 // 登录密码裸露在外不推荐mysql -u用户名 -p // 回车后输入密码(密码隐藏),推荐使用mysql -hIP地址 -u用户名 -p密码 //连接指定IP地址的数据库exit // 退出mysql命令行环境
SQL 操作数据库:
注释:
123-- 单行注释,必须有一个以上空格隔开# 单行注释/* 多行注释 */
数据库:
创建数据库:
1234create database 数据库名; // 基本格式create database if not exists 数据库名; // 查看数据库,不存在时创建create database 数据库名 character set 字符集; // 修改字符集cre ...
Android
未读Fragment 与 ViewPagerFragment:
创建一个 Fragment:
12345678910111213141516171819public class MyFragment extends Fragment {//继承Fragment @Override//拿到上下文 public void onAttach(@NonNull Context context) { super.onAttach(context); } @Nullable @Override//指定视图文件 public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //R.layout.fragement为你创建的Fragment的布局文件 View view=inflater.inf ...
Java
未读File and 字节流
File:
初始化一个 File 对象:
以路径最后所指文为准,最后时文件夹则为文件夹对象反之文件同理。
File.separator :返回系统文件目录分隔符
12345678910//接受一个目录路径字符串,实例化为文件或文件夹对象File file=new File("E:"+File.separator+"test"+File.separator+"test.txt");//接受两个字符串,参2拼接在参1后面File file2=new File("E:"+File.separator+"test","test.txt");//接受一个file对象,参2接入该目录中File file3=new File(file,"test.txt");//File 对像 tostring 方法返回 getPath 方法值System.out.println(file);System.out.println(file2); ...
ClassLoader(类加载器)加载过程:
加载:通过类全名,获取类二进制流。将字节流代表的静态存储结构转化为方法区的数据结构。在堆中生成这个类的 Class 对象。
启动类加载器(BootStrap ClassLoader):使用 c/c++ 实现的类,加载 java 核心库(包名为 java,javax,sun 开头的类)。
扩展类加载器(Extension ClassLoader):继承至 ClassLoader 抽象类,加载系统变量 Djava.ext.dir 指定指定目录的类库或 jdk 中 jre/lib/ext 目录下的类库。
系统类加载器(AppClassLoader):继承至 ClassLoader 程序默认的加载器,一般加载自定义类。
连接:
验证:查看字节流是否符合 Class 文件规范,符合则加载到方法区存储。语句检查。
准备:静态常量(static final)直接赋值,为类(static)变量分配内存并设置默认初始值。
解析:虚拟机将常量池内的符号引用替换为直接引用的过程
初始化:执行 jvm 的 <clinit>( ...