各种框架依赖或jar包的汇总及其作用(待补充)------后端
Posted halulu.me
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种框架依赖或jar包的汇总及其作用(待补充)------后端相关的知识,希望对你有一定的参考价值。
目录
后端
1、Spring家族
(1)SpringMVC
作用: SpringMVC框架是web层框架,主要是简化web层(表现层)开发
<!--springmvc依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
(2)SpringIOC
IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。原本由开发者自己管理对象的权利,现在将这个控制权利交给IOC容器进行创建对象,封装数据,和管理对象之间的依赖,这就是控制反转。
IOC主要应用于业务层。
<!--spring框架-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
SpringMVC中的jar包已经包含spring-context
(3)SpringAOP
AOP (Aspect Oriented Programming) 即面向切面编程
作用: 在不修改源码的情况下,可以对目标对象的方法进行增强
<!--aop: spring整合第三方的面向切面编程组件-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.7</version>
</dependency>
(4)CGLIB
CGLIB普通类动态代理,生成继承类。
maven
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
(5)JDBCTemplate
JdbcTemplate是Spring提供的一个模板类,它是对jdbc的封装。用于支持持久层的操作。
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--spring-jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
</dependencies>
(6)fileUpload(SpringMVC文件上传)
springMVC文件上传,就是用到了Apache的文件fileUpload上传组件实现。简化了上传文件的过程。
<!--添加Apache文件上传支持包-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
(7)SpringMVCjosn数据的自动转换
@Requestbosdy和@Responsebody,需要导入jackson
<!--添加jackson支持包: springMVC框架操作json数据时调用的技术-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
(8)Spring整合junit 包
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version> <!--spring框架对junit有要求,junit必须使用4.12及以上版本-->
<scope>test</scope>
</dependency>
<!--
spring整合junit包:spring-test
注意:使用这个整个包,要求依赖的junit的包必须是4.12及版本以上
-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
(9)spring整合redis
解决当String类型的值是对象时候无法储存的问题
maven
<!-- ================ spring 整合 Redis================== -->
<!-- 1、java连接Redis的jar包,也就是使用jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.3</version>
</dependency>
<!-- 2、spring整合Redis的jar包,注意版本的对应关系 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>2.1.6.RELEASE</version>
</dependency>
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
<!-- 日志记录 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
2、Tomcat插件
作用: 开启tomcat服务器
<!--插件配置-->
<build>
<plugins>
<!--tomcat7的插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
</build>
3、Servlet
作用: 在于交互式地浏览和修改数据,生成动态Web内容。
<!--版本3之后才能使用注解servlet-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
4、Beanutils
封装实体类
maven
<!-- commons-beanutils -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
5、jackson
javascript Object Notation js对象标记
是一种轻量级的数据交换格式,通过json可以实现前后端传输数据
jackson主要用于json数据与java对象的转换
<!--添加jackson支持包: springMVC框架操作json数据时调用的技术-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
6、Junit
作用: 测试代码。
注意: spring框架对junit有要求,junit必须使用4.12及以上版本
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version> <!--spring框架对junit有要求,junit必须使用4.12及以上版本-->
<scope>test</scope>
</dependency>
7、Mybatis
8、commons-io
作用: 简化文件流的传输
IOUtils.copy(inputStream,response.getOutputStream());
<!--apache的commons-io: 文件下载操作流使用-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
9、log4j日志包
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
10、Jedis
简易版操作redis的java客户端
jar包
maven
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
11、Mysql
mysql连接驱动包,注意版本5和版本8的配置文件有所不同
5.xx版本
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/springdb?characterEncoding=utf8
jdbc.username = root
jdbc.password = root
jdbc.initialSize = 3
jdbc.maxActive = 50
jdbc.minIdle = 3
jdbc.maxWait = 6000
8.xx版本之后
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF8
jdbc.username=root
jdbc.password=root
其中Timezone这个参数必加,这是个时区设置,也能理解,这样设置最起码数据库取时间能取到北京时间了
12、lombok
由于lombok是在.class文件的时候使用的,所以idea需要装插件lombok
1、 @Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
2、@NoArgsConstructor无参的构造器
3、@AllArgsConstructor全参的构造器
maven
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
13、commons-lang3
随机生成字符串。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
//1. 调用工具类随机生成4个数字
String authCode = RandomStringUtils.randomNumeric(4);
14、阿里云短信包
发送短信。
maven
<!-- 阿里云短信包 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-sms</artifactId>
<version>3.0.0-rc1</version>
</dependency>
工具类
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
/**
* 发送短信息的工具类
*/
public class SmsUtils {
//这里要换成在阿里云申请的:accessKeyId和secret
private static String accessKeyId = "换成你的accessKeyId";
private static String secret = "换成你的secret";
/**
* 发送短信的方法
* @param phoneNumbers 11位电话号码,格式:15900000000
* @param signName 签名名称
* @param templateCode 模板CODE
* @param authCode 要发的验证码
* @return 返回的信息字符串
*/
public static String send(String phoneNumbers, String signName, String templateCode, String authCode) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, secret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain("dysmsapi.aliyuncs.com");
request.setSysVersion("2017-05-25");
request.setSysAction("SendSms");
request.putQueryParameter("RegionId"idea打包jar,运行错误: 找不到或无法加载主类
Java使用POM一JAR包的形式管理JavaScript文件-WebJars