我想实现一个功能,在部署时,我应该从Database加载对象列表。数据库已经完成了各自的实现,正在动态使用。
鉴于我是Spring的新手,我正在尝试了解spring的不同功能,我可以利用它来实现此功能。如果我没有使用Spring,我会有
现在,在春天,我很困惑。我已经阅读了不同的文章并试图找到一些指示。首先,我应该使用@Component
来制作类单身人士吗?春天会照顾线程安全吗?
其次,这个班级是春天的Service
班吗?我是否必须使用@Service
对其进行注释?
第三,我应该在启动时使用@PostConstruct
来加载这个类吗?还是有其他更好的选择?
答案 0 :(得分:2)
以下是您的问题的答案:
首先,我应该使用@Component来制作类单例吗?春天会照顾线程安全吗?
@Component
用于基于XML的Spring Configuration中的Component Scaning来创建Spring Bean。 Bean将创建任何类的Singleton实例。
其次,这个班级是春天的服务类吗?我是否必须使用@Service
注释?
@Service
只是@Component
的专业化。如果您继续使用@Service
或@Repository
或将其替换为@Component
,则完全没问题。
第三,我应该在启动时使用@PostConstruct
来加载这个类吗?或者还有其他更好的选择?
@PostConstruct
将只运行一次。如果您想在第一次启动应用程序时将数据从数据库加载到缓存等,则可以使用它。