手把手教你Spring 取代XML使用注解,并测试(下)

简介: 一、文件放的位置大概是这样的

四、启动类 NacosConsumerApplication,@ComponentScan注解可以启动时扫描到相应的类或接口

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@ComponentScan("com.example.nacosprovider.*")
public class NacosConsumerApplication {
  public static void main(String[] args) {
    SpringApplication.run(NacosConsumerApplication.class, args);
  }
}

====加入实体类,@Data插件如果生效的话,就不要这些get set方法

@Data
@Api("")
public class User {
  @ApiModelProperty("")
  private Long id;
  @ApiModelProperty("")
  private String username;
  @ApiModelProperty("")
  private Integer merchantId;
  public Long getId() {
    return id;
  }
  public void setId(Long id) {
    this.id = id;
  }
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
  public Integer getMerchantId() {
    return merchantId;
  }
  public void setMerchantId(Integer merchantId) {
    this.merchantId = merchantId;
  }
}
@Data
public class UserSaveOrUpdateReq {
  @ApiModelProperty("")
  private String username;
  public String getUsername() {
    return username;
  }
  public void setUsername(String username) {
    this.username = username;
  }
}

五、Controller

@RestController
public class UserController {
  @Resource
  private UserService userService;
  @ApiOperation("添加或修改")
  @PostMapping("/user/saveOrUpdate")
  public Boolean saveOrUpdate(@RequestBody UserSaveOrUpdateReq userSaveOrUpdateReq) {
    return userService.saveOrUpdate(userSaveOrUpdateReq);
  }
}

六、Service层

public interface UserService extends IService<User> {
  /**
   *
   * @param userSaveOrUpdateReq
   * @return
   */
  Boolean saveOrUpdate(UserSaveOrUpdateReq userSaveOrUpdateReq);
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
  @Resource
  private UserMapper userMapper;
  @Override
  public Boolean saveOrUpdate(UserSaveOrUpdateReq userSaveOrUpdateReq) {
    User user = new User();
    user.setUsername(userSaveOrUpdateReq.getUsername());
    user.setMerchantId(1);
    int insert = userMapper.insert(user);
    return (insert > 0 ? true : false);
  }
}

七、Mapper层

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

八、配置类 StudyConfiguration.java

Spring 抛除XML使用注解

<context:Component-Scan base-package=“com.example.nacosprovider.mapper”> </context:Component-Scan>

@Configuration
@ComponentScan(basePackages = "com.example.nacosprovider.mapper")
public class StudyConfiguration {
}

最后 测试通过


数据库增加的数据

目录
打赏
0
0
0
0
8
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
79 1
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
31 0
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
169 26
SpringBoot缓存注解使用
Spring Boot 提供了一套方便的缓存注解,用于简化缓存管理。通过 `@Cacheable`、`@CachePut`、`@CacheEvict` 和 `@Caching` 等注解,开发者可以轻松地实现方法级别的缓存操作,从而提升应用的性能和响应速度。合理使用这些注解可以大大减少数据库的访问频率,优化系统性能。
215 89
Spring MVC常用的注解
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中 的所有响应请求的方法都是以该地址作为父路径。 @RequestBody:注解实现接收http请求的json数据,将json转换为java对象。 @ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。 @Controller:控制器的注解,表示是表现层,不能用用别的注解代替 @RestController : 组合注解 @Conntroller + @ResponseBody @GetMapping , @PostMapping , @Put
Spring Boot的核心注解是哪个?他由哪几个注解组成的?
Spring Boot的核心注解是@SpringBootApplication , 他由几个注解组成 : ● @SpringBootConfiguration: 组合了- @Configuration注解,实现配置文件的功能; ● @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项 ● @ComponentScan:Spring组件扫描
SpringBoot+@Async注解一起用,速度提升
本文介绍了异步调用在高并发Web应用性能优化中的重要性,对比了同步与异步调用的区别。同步调用按顺序执行,每一步需等待上一步完成;而异步调用无需等待,可提升效率。通过Spring Boot示例,使用@Async注解实现异步任务,并借助Future对象处理异步回调,有效减少程序运行时间。
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
209 73
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
22 0
|
1月前
|
SpringBoot:SpringBoot通过注解监测Controller接口
本文详细介绍了如何通过Spring Boot注解监测Controller接口,包括自定义注解、AOP切面的创建和使用以及具体的示例代码。通过这种方式,可以方便地在Controller方法执行前后添加日志记录、性能监控和异常处理逻辑,而无需修改方法本身的代码。这种方法不仅提高了代码的可维护性,还增强了系统的监控能力。希望本文能帮助您更好地理解和应用Spring Boot中的注解监测技术。
74 16

热门文章

最新文章