在Spring应用程序中,如果我有要在整个项目中使用的Utility方法,是否应该在Utility类或Autowired @Component中使用静态方法?
例如,我可以有一个CalculatorUtility.class与
public static int add(int a, int b){...}
或者我可以有一个CalculatorComponent.class这样并自动装配它:
@Component
public class CalculatorComponent {
public int add(int a, int b){...}}
我假设计算器不需要任何依赖关系。我在想自动装配可能会更灵活,以防将来需要添加依赖时使用,而静态更简单。有指导方针吗?
答案 0 :(得分:0)
是的,实用程序类中的静态方法不能使用任何Spring依赖项。因此,如果您的方法有可能需要其他类,或者可能添加其他功能,则应该使用Spring @Component。
如果方法是并且将保持非常简单并且没有状态行为,则可以使用静态类。例如。使用System.out.println将始终将某些内容打印到系统的当前PrintStream中,而不会出现任何状态或其他行为。