day2——学习笔记
对swagger和knife4j进行了解
- 二者关系——
Knife4j它是对swagger在线接口文档的一个增强,按照官网的话说就是给swagger做了一个更好看皮肤的同时加了一些新的功能
Easyexcel-数据处理
顺带学了下build注解和其使用
configuration,resource,bean的理解
示例说明
假设你有一个简单的服务类 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 命名规则
-
默认命名规则:
- 当你使用组件扫描(如
@Component,@Service,@Repository,@Controller等)自动注册Bean时,Spring会根据类名自动生成Bean的名字。默认情况下,它会将类名的第一个字母转换为小写。
例如,对于一个名为
MyRepositoryImpl的类,Spring会生成名为myRepositoryImpl的Bean。如果你只定义了接口MyRepository,那么通常实现类会被命名为类似MyRepositoryImpl,而Bean名字则可能是myRepository或者myRepositoryImpl。 - 当你使用组件扫描(如
-
显式命名:
- 你可以通过注解中的
name属性或value属性显式指定Bean的名字。这可以确保即使有多个同类型的Bean,也能明确指出要注入哪一个。
@Component("myRepository") public class MyRepositoryImpl implements MyRepository { // ... } - 你可以通过注解中的
-
@Resource主要是通过名称来识别Bean的,但如果名称未指定或不唯一,则会退回到按类型查找。因此,在使用@Resource注解时,最好确保Bean的名字是唯一的,或者明确指定name属性以避免潜在的歧义和错误。

浙公网安备 33010602011771号