maven常用依赖

mybatis相关

1.mysql驱动

1
2
3
4
5
6
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>

2.junit

1
2
3
4
5
6
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>

3.mybatis

1
2
3
4
5
6
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>

4.资源过滤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
   <!--在build中配置resources,来防止我们资源导出失败的问题-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

5.log4j

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

6.lombok

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>

7.mybatis-ehcache(缓存)

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-ehcache -->
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-ehcache</artifactId>
<version>1.1.0</version>
</dependency>

spring相关

8.spring-webmvc

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>

9.spring-jdbc

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>

10.AOP–aspectjweaver

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>

11.mybatis-spring

1
2
3
4
5
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>

springMVC相关

12.servlet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>

13.jackson(json解析)

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0</version>
</dependency>

14.fastjson(json解析)

1
2
3
4
5
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
</dependency>

springboot相关

15.yaml爆红决解方案

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

16.thymeleaf

1
2
3
4
5
6
7
8
9
<!--thymeleaf基于3.x-->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>

17.druid

1
2
3
4
5
6
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.21</version>
</dependency>

18.mybatis-spring-boot

1
2
3
4
5
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>

19.SpringSecurity

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

20.security-thymeleaf

1
2
3
4
5
6
<!--security-thymeleaf-->
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity5</artifactId>
<version>3.0.4.RELEASE</version>
</dependency>

21.shiro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.4.1</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.21</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>

22.shiro-spring

1
2
3
4
5
6
<!--shiro整合spring的包-->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.4.1</version>
</dependency>

23.shiro-thymeleaf

1
2
3
4
5
6
<!--shiro-thymeleaf-->
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>2.0.0</version>
</dependency>

24.springfox-swagger

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependencies>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

25.mail

1
2
3
4
5
<!--javax.mail:配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

26.dubbo—-zkclient

1
2
3
4
5
6
7
8
9
10
11
12
<!-- Dubbo Spring Boot Starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>

27.zookeeper和决解相关问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- zookeeper及其依赖包,解决日志冲突,还需要剔除日志依赖; -->
<!-- 引入zookeeper -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.14</version>
<!--排除这个slf4j-log4j12-->
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>

配置文件

1.mybatis-config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>

2.mybatis-mapper

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>

3.spring-bean

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">


</beans>

4.jdbc主要配置

1
2
3
4
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8
username=root
password=123456

5.web.xml注册DispatcherServlet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>


</web-app>

6.springMVC提供解决乱码(web.xml)

1
2
3
4
5
6
7
8
9
10
11
12
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

mybatis搭建的步骤

  1. 新建数据库
  2. 导入maven依赖(注意:资源过滤问题)
  3. 编写核心配置文件(连接JDBC)
  4. 编写mybatis工具类—–>编写实体类—–>编写接口
  5. 编写接口的SQL语句映射文件—–>注册mapper
  6. 进行增删改查测试

spring程序步骤

使用 xml开发

  1. 编写实体类(使用set方法进行注入)
  2. 编写配置文件(由spring来创建对象)
  3. 测试

使用的思想:控制反转(IOC)

  • 控制:以前都是程序来创建对象,现在由spring创建对象
  • 反转:程序本身不创建对象,现在程序被动成为了接收对象
  • 依赖注入:使用set方法依赖注入

使用注解开发

  1. 在配置文件开启注解支持以及扫描实体类
  2. 实体类加入注解(相当于bean)
  3. 测试

使用Java方式配置bean

  1. 编写实体类——>使用组件注解
  2. 编写Java类配置文件—>使用配置文件注解—–>使用扫描包注解—–>编写方法—->使用bean注解
  3. 测试(注意:new对象是AnnotationConfigApplicationContext)

代理

静态代理

  1. 编写一个接口
  2. 编写真实对象类(举例:房东)要实现接口
  3. 编写代理类(代理真实角色,一般可以有附属操作)要实现接口
  4. 测试(new真实对象,new代理对象)

spring整合mybatis

  1. 新建数据库
  2. 导入maven依赖
  3. 编写实体类
  4. 编写dao层接口
  5. 编写接口的映射配置文件
  6. 编写mybatis配置文件(编写内容很少,主要全部给spring进行托管)
  7. 编写spring配置文件
    1. datasSource(之前mybatis连接JDBC文件)
    2. SqlSessionFactory
      1. 引入上一步骤的dataSource
      2. 引入mybatis配置文件
      3. 引入mapper映射文件
    3. sqlSession
      1. 引入SqlSessionFactory
  8. 编写sqlSession类
    1. 进行bean注入
    2. 引入sqlSession

springMVC程序步骤

使用xml开发springMVC

  1. 添加web支持
  2. 导入相关maven依赖
  3. 编写web.xml
    1. 编写注册DispatcherServlet
  4. 编写springMVC核心配置文件
    1. 处理映射器
    2. 处理设配器
    3. 视图解析器
    4. bean注入
  5. 编写controller层
    1. 实现controller接口
    2. 实例化ModelAndView
    3. 封装对象
    4. 跳转到视图界面
  6. 到springMVC添加bean支持
  7. 编写jsp跳转界面
  8. 添加lib(注意点)
  9. 启动tomcat服务器

使用注解开发springMVC

  1. 添加web支持
  2. 导入相关maven依赖
  3. 编写web.xml
    1. 编写注册DispatcherServlet
  4. 编写springMVC核心配置文件
    1. 扫描注册包(cotext)
    2. 开启mvc注解支持
    3. springMVC 不过滤静态资源(可不选)
    4. 视图解析器
  5. 编写controller层
    1. 添加controller注解
    2. 编写方法
      1. 添加访问路径
      2. 封装数据
      3. 返回视图解析界面
  6. 编写跳转视图
  7. 启动tomcat服务器

注意

springmvc配置文件注意命名空间的包是否正确

SSM整合底层步骤

mybatis层

  1. 新建数据库并在idea进行连接
  2. 导入maven相关依赖和资源过滤
  3. 新建相关包和配置文件
  4. 编写mybatis配置文件:主要是包的别名
  5. 编写实体类
  6. 编写接口
  7. 编写接口的映射文件——>去mybatis配置文件编写mapper
  8. 编写service层接口
  9. 编写service层的实现类(service层调dao层)

spring层

  1. 编写数据库相关配置database.properties
  2. 编写spring-dao配置文件
    1. 引入数据库相关配置
    2. 编写连接池
    3. sqlSessionFactory
      1. 引入连接池的id
      2. 引入mybatis配置文件
    4. 动态实现dao接口注入到spring中
      1. 注入sqlSessionFactory
      2. 扫描(注入)dao层的包
    5. 注入service层实现类bean(引入dao层接口)

springMVC层

  1. 添加web模块并导入lib依赖
  2. 编写web.xml
    1. DispatcherServlet
    2. springMVC提供的乱码过滤
    3. session(可选)
  3. 编写springMVC配置文件
    1. 开启注解支持
    2. 静态资源过滤
    3. 要扫描的包
    4. 视图解析器

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!