Spring Boot应用开发
3.1 Spring Boot与MyBatis的集成
1 准备数据库环境
在MySQL数据库中,创建一个名为microservice的数据库,在microservice中创建数据表tb_user,并在表中插入3条数据。其建表和插入数据的SQL语句如下:
2 创建项目,添加依赖
创建一个依赖于Web模块的Spring Boot项目,在项目的pom.xml中添加入下依赖配置信息。
3 编写配置文件
4 创建实体类
在项目的src/main/java中创建com.itheima.springboot.po,并在该包中创建实体类User。
5 编写Mapper
在项目的src/main/java中创建包com.itheima.springboot.mapper,并在该包中创建接口文件UserMapper。
6 编写Service
(1) 编写接口。在项目的src/main/java中创建包com.itheima.springboot.service,并在该包中创建接口文件UserService。
(2)编写实现类。在项目的src/main/java中创建包com.itheima.springboot.service,并在该包中创建接口文件UserService的实现类UserServiceImpl。
7 编写Controller
在项目的src/main/java中创建包com.itheima.springboot.controller,并在该包中创建用户控制器类UserController。
8 实现前端页面
将Easy UI框架的资源文件拷贝到src/main/resource下的static文件夹中,并在static文件夹中创建页面文件user.html。
9 启动项目,查看结果
启动Spring Boot项目,在浏览器地址栏中输入访问地址http://localhost:8080/user.html。浏览器的显示效果如下:
从上图可看出,数据表中的所有用户信息都已被查询出,说明在Spring Boot中使用MyBatis框架成功。
3.2 Spring Boot与Redis的集成
3.2.1 添加Redis缓存
1.添加Redis起步依赖
在pom.xml中添加Spring Boot支持Redis的依赖配置,具体如下:
2.添加缓存注解
(1)在引导类Application.java中,添加@EnableCaching注解开启缓存。
(2)在业务逻辑类UserServiceImpl的getAllUsers()方法上添加@Cacheable注解来支持缓存。
3.使实体类实现可序列化接口
为了便于数据的传输,需要将实体类User实现序列化接口Serializable。
4.指定Redis缓存主机地址
通常情况下,Redis缓存与Web应用并非部署在一台机器上,此时就需要远程调用Redis。在application.properties中添加指定Redis所在主机及其端口号的配置。
5.启动项目,测试缓存使用
在远程主机中启动Redis服务,并启动本地项目,在浏览器地址栏中输入访问地址http://localhost:8080/user.html后,查看Eclipse中控制台打印信息。
3.2.2 清除Redis缓存
以删除用户为例,在用户业务逻辑类的deleteUser()方法上添加@CacheEvict注解信息。
启动项目后,在浏览器输入地址http://localhost:8080/user/delete/3即可执行项目中的删除操作。删除后,Eclipse控制台会显示输出语句信息,同时Redis中的缓存数据也会被相应删除。
再次查看用户信息。
3.3 Spring Boot与ActiveMQ的集成
3.3.1 使用内嵌的ActiveMQ
1.添加ActiveMQ起步依赖
2.创建消息队列对象
在Application.java中编写一个创建消息队列的方法。
3.创建消息生产者
创建一个队列消息的控制器类QueueController,并在类中编写发送消息的方法。
4.创建消息监听者
创建一个客户控制器类CustomerController,并在类中编写监听和读取的方法。
5.启动项目,测试应用
启动Spring Boot项目,在浏览器地址栏中输入访问地址http://localhost:8080/send后,查看Eclipse中控制台打印信息。
从上图可看出,控制台中已经显示出了消息生产者所产生的消息内容,这也说明Spring Boot与ActiveMQ集成开发成功。
3.3.2 使用外部的ActiveMQ
1.指定ActiveMQ缓存主机地址
在application.yml中添加指定ActiveMQ所在主机及其端口号。
2.启动远程主机上的ActiveMQ。
3.在浏览器地址栏中输入访问地址http://192.168.10.111:8161/admin,访问ActiveMQ的管理页面。
5.单击顶部菜单中的Queues链接。
6.启动项目。
在浏览器访问http://localhost:8080/send。ActiveMQ管理界面中的队列信息显示如下。
并执行三次刷新操作。
在浏览器再次访问http://localhost:8080/send。ActiveMQ管理界面中的队列信息显示如下。
从下图可看出,队列中包含1个消费者,并且进入队列的消息和出队列的消息都为4次,这说明队列操作已正确执行。
3.4 Spring Boot应用的打包和部署
3.4.1 JAR包
在Eclipse中执行Maven的package命令将项目打成一个JAR包。
在项目target所在目录下可看到生成的jar包。
使用压缩软件打开,可在lib文件夹中发现很多的JAR包,实际上这些JAR包就是项目所依赖的JAR包。
在命令提示符窗口中进入JAR包所在的目录,并通过以下命令来执行JAR包。
java -jar Mybaties-0.0.1-SNAPSHOT.jar
执行成功后,即可通过浏览器对项目进行访问。
3.4.2 WAR包
1.修改打包方式,并添加Tomcat依赖
将项目pom.xml中元素内的jar修改为war,并在文件中添加Tomcat的依赖配置。其修改和添加的配置信息如下:
2.创建SpringBootServletInitializer子类,并覆盖其配置方法
3.通过命令打包为war包
同样在在项目target所在目录下可看到生成的war包。