Java 理解Spring注释DI
@存储库@Service@Controller @组成部分 -->仅用于spring管理的bean(无需编织)Java 理解Spring注释DI,java,spring,dependency-injection,Java,Spring,Dependency Injection,@存储库@Service@Controller @组成部分 -->仅用于spring管理的bean(无需编织) -->@存储库,@Service@controller实际上是一个@组件,只是命名更容易让程序员理解 @Configurable --->用于非spring管理bean(与编织一起使用) -->用于上述两种情况的DI 我的理解正确吗?除了@Configurable之外,其他都是正确的。从Spring javadocs: 公共@接口可配置 将类标记为符合Spring驱动配置的条件。通常
-->@存储库,@Service@controller实际上是一个@组件,只是命名更容易让程序员理解
@Configurable
--->用于非spring管理bean(与编织一起使用)
-->用于上述两种情况的DI
我的理解正确吗?除了@Configurable之外,其他都是正确的。从Spring javadocs: 公共@接口可配置 将类标记为符合Spring驱动配置的条件。通常与AspectJ注释BeanConfigureSpect一起使用
Spring注释具有不同的用途。正如您所知,Spring大量使用代理来提供其功能性但此功能性取决于目标注释 所以当你把
@Repository
public class UserRepositoryImpl implements UserRepository {
public void saveUser(User user) {
// logic goes here
}
}
你是说
代理my UserRepositoryImpl,如果它抛出任何数据库异常,捕获它并将其作为DataAccessException重新抛出,这是一个通用的Spring数据库异常
等等
问候,
@Repository
public class UserRepositoryImpl implements UserRepository {
public void saveUser(User user) {
// logic goes here
}
}