(1)jar------>编译给pom.xm引用
打开命令行,输入如下命令
mvn install:install-file -Dfile=jar包的位置 -DgroupId=(groupId) -DartifactId=(artifactId )-Dversion=(version ) -Dpackaging=jar
(2)maven项目package打包成指定名字的war包(之前打包发现有时带着版本号)
在pom中添加
<build>
<finalName>指定的名字</finalName>
</build>
(3)Class.forName(全限定名)获得类的字节码,创建类的实例化时,省事直接 字节码.newInstance()。这是Class的方法,底层是使用无参构造器创建对象的,如果使用必须在类里有一个无参构造方法。不然会报InstantiationException异常
(4)在static代码块中,是不能使用this的,因为静态优先类创建,那如何在静态方法中拿到类加载器
不使用static,正常拿到配置文件:
try {
InputStream is = this.getClass().getClassLoader().getResourceAsStream("user.properties");
使用静态方法:
static {
try {
InputStream is = UserFactory.class.getClassLoader().getResourceAsStream("user.properties")
(5)MIME类型
电脑的磁盘文件类型--》是按照文件的扩展名来区分的。
那么网络的数据类型是通过MIME类型来区分的。--》参考手册W3School MIME参考手册
明确:用户提交的数据类型:可以通过<form enctype来指定具体的mime类型/>
默认类型:application/x-www-form-urlencoded类型的。
具体数据表现形式:k1=v1&k2=v2...
JSON:application/json
具体数据时:{"id":"1","name":"admin"}
文件上传:multipart/form-data
(6)pom.xml jar依赖调解
A--------->B 5.1.5-------->D5.1.5
A--------->D5.0.2
A到底依赖D的哪个版本?D5.0.2
A------------->B 5.1.5---------->D5.1.5
A------------->C 5.0.2---------->D5.0.2
A到底依赖D的哪个版本?D5.1.5
依赖调解:第一原则:路径最近者优先;第二原则:第一声明者优先;(谁先配置就用谁)
(7))依赖范围 <scope>
(8)修改编译版本,在 pom.xml 文件中添加
<build>
<plugins>
<!-- 设置编译版本为 1.8 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version >
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
(9)mysql 语句插入date数据
INSERT INTO school (NAME,brithday,grade,sid)VALUES('李四','1996-1-1',2,3)
(10)json转换工具 JsonUtils
例句:
Map<Long,Object> generic=JsonUtils.toMap(jsonString,Long.class,Object.class);
Map<Long,List<String>> special=JsonUtils.nativeRead(jsonString, new TypeReference<Map<Long, List<String>>>() { });