为什么在Spring使用@Service和为什么@Service("")使用字符串参数?

gal*_*leb 3 spring

为什么在spring服务实现calsses中使用没有字符串参数的@Service和字符串参数

Guo*_*ong 6

@Service without参数有一个默认服务名称,通常它与您的类名相同,但第一个字符是小写.

例如,

@Service
class LoadService {}
Run Code Online (Sandbox Code Playgroud)

默认服务名称是loadService

@Service(value = "serviceName")明确指定服务名称.

例如,

@Service(value = "myServiceName")
class LoadService {}
Run Code Online (Sandbox Code Playgroud)

服务名称是myServiceName

从春季文档:

该值可以指示对逻辑组件名称的建议,在自动检测的组件的情况下将其转换为Spring bean.

因此,当一个项目有两个以上类,其名称相同且都有@Service注释时,您应该使用@Service参数.