day2——学习笔记

对swagger和knife4j进行了解

  • 二者关系——Knife4j 它是对 swagger 在线接口文档的一个增强,按照官网的话说就是给 swagger 做了一个更好看皮肤的同时加了一些新的功能

swagger-的使用

knife4j-的使用

knife4j官方文档

Easyexcel-数据处理

Easyexcel官方文档

Easyexcel上手

顺带学了下build注解和其使用

configuration,resource,bean的理解

配置类Configureation

示例说明

假设你有一个简单的服务类 MyService 和一个配置类 AppConfig,其中定义了 MyService 的Bean:

// 目标对象
@Service
public class MyService {
    public void doSomething() {
        // ...
    }
}

// 配置类
@Configuration
public class AppConfig {

    @Bean
    public MyService myService() {
        return new MyService();
    }
}

在这个例子中:

  • 当Spring应用上下文启动时,它会识别 AppConfig 并处理 myService() 方法。
  • myService() 方法返回的对象会被注册为名为 myService 的Bean。
  • 如果其他组件需要 MyService 实例,它们可以通过 @Autowired 注入,Spring会自动提供正确的Bean实例。

配合@Resource注解使用,就能够获得经配置后的对象。

Spring 的 Bean 命名规则

  1. 默认命名规则

    • 当你使用组件扫描(如 @Component, @Service, @Repository, @Controller 等)自动注册Bean时,Spring会根据类名自动生成Bean的名字。默认情况下,它会将类名的第一个字母转换为小写。

    例如,对于一个名为 MyRepositoryImpl 的类,Spring会生成名为 myRepositoryImpl 的Bean。如果你只定义了接口 MyRepository,那么通常实现类会被命名为类似 MyRepositoryImpl,而Bean名字则可能是 myRepository 或者 myRepositoryImpl

  2. 显式命名

    • 你可以通过注解中的 name 属性或 value 属性显式指定Bean的名字。这可以确保即使有多个同类型的Bean,也能明确指出要注入哪一个。
    @Component("myRepository")
    public class MyRepositoryImpl implements MyRepository {
        // ...
    }
    
  3. @Resource 主要是通过名称来识别Bean的,但如果名称未指定或不唯一,则会退回到按类型查找。因此,在使用 @Resource 注解时,最好确保Bean的名字是唯一的,或者明确指定 name 属性以避免潜在的歧义和错误。

posted @ 2024-12-26 23:59  Sha11ow  阅读(31)  评论(0)    收藏  举报