springboot整合rabbbitmq--注解方式+yml配置
Posted myWang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot整合rabbbitmq--注解方式+yml配置相关的知识,希望对你有一定的参考价值。
maven依赖
<!--rabbitmq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <!--mail依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
1. 测试方法 controller 生产者
@GetMapping("/test1") public void test(HttpServletRequest request) throws Exception String authorization = request.getHeader("Authorization"); String username = (String) JwtUtils.parseJWT(authorization).get("username"); HashMap<String, String> map = new HashMap<>(); map.put("username",username); map.put("msg","开始发送邮件"); try rabbitTemplate.convertAndSend("name_exchange","name_routingKey",map);//指定交换机 路由key catch (AmqpException e) log.info("生产者失败"); log.info("test执行了");
2 .消费者--监听
@Component public class Listener @Autowired private JavaMailSender javaMailSender; @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "scan_queue", durable = "false"), //队列名 是否持久化 exchange = @Exchange( value = "name_exchange", //交换机配置 ignoreDeclarationExceptions = "true", type = ExchangeTypes.TOPIC ), key = "scan_routingKey")) public void listen(Map map) System.out.println("接收到消息:" + map.get("msg")); SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setSubject("尊敬的用"+map.get("username")+"户您好!"); simpleMailMessage.setText("扫描完毕"); simpleMailMessage.setTo("oooooo@163.com"); simpleMailMessage.setFrom("xxxxxxxxx@163.com"); javaMailSender.send(simpleMailMessage);
邮件和rabbitmq配置
mail: host: smtp.163.com protocol: smtp default-encoding: utf-8 password: ****** username: *****@163.com port: 25 rabbitmq: username: dev password: **** host: localhost port: 5672 virtual-host: /dev template: retry: enabled: true initial-interval: 2000ms max-interval: 10000ms multiplier: 2 publisher-confirm-type: correlated
SpringBoot-注解方式整合Mybatis
SpringBoot整合Mybatis
一.注解方式整合Mybatis
1.创建Air的Mapper接口
@ComponentScan
public interface AirMapper
List<Air> selectAll();
Air selectOneById(Integer id);
2.添加Mybatis注解
针对增删改查:@Insert,@Delete,@Update,@Select
还是需要在启动类中添加@MapperScan注解
@ComponentScan
public interface AirMapper
@Select("select * from air where id =#id")
Air selectOneById(@Param("id") Integer id);
3.配置日志
// yml文件
logging:
level:
XXX.mapper: DEBUG
# 连接数据库的信息
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///air
username: root
password: 123
type: com.alibaba.druid.pool.DruidDataSource
# mvc:
# # 视图的前缀和后缀
# view:
# prefix: /
# suffix: .html
#禁用缓存
thymeleaf:
cache: false
mybatis:
# 扫描映射文件
mapper-locations: classpath:mapper/*.xml
# 配置别名扫描的包
type-aliases-package: boot.entity
configuration:
# 开启驼峰映射配置
map-underscore-to-camel-case: true
logging:
level:
boot.mapper: DEBUG
4.测试查看日志
@SpringBootTest
class AirMapperTest
@Autowired
private AirMapper airMapper;
@Test
void selectAll()
List<Air> airs = airMapper.selectAll();
for (Air air : airs)
System.out.println(air);
@Test
void selectOneById()
Air air = airMapper.selectOneById(1);
System.out.println(air);
以上是关于springboot整合rabbbitmq--注解方式+yml配置的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot整合Mybatis方式2:使用注解方式整合Mybatis