Java ApplicationContext.xml bean执行-如何执行?

Java ApplicationContext.xml bean执行-如何执行?,java,spring,jersey,Java,Spring,Jersey,我有applicationContext.xml,其中包含以下行: <bean id="myclass" class="com.abc.myclassinfo" > </bean> 现在,当spring加载applicationContext.xml时会发生什么?它调用这个构造函数吗 另外,如果我想以其他方式在不使用applicationContext.xml的情况下对Jersey客户端进行本地化,我该怎么做 谢谢 尝试使用init方法或@Postconstruct注释

我有
applicationContext.xml
,其中包含以下行:

<bean id="myclass" class="com.abc.myclassinfo" >
</bean>
现在,当spring加载
applicationContext.xml
时会发生什么?它调用这个构造函数吗

另外,如果我想以其他方式在不使用
applicationContext.xml
的情况下对Jersey客户端进行本地化,我该怎么做


谢谢

尝试使用
init方法
@Postconstruct
注释初始化一些逻辑。

  • 首先,它调用构造函数(默认情况下是no-arg构造函数,如果带注释,则调用另一个构造函数)
  • 然后它调用一个
    @PostConstruct
    /
    init方法
  • 然后,它调用可以进一步操作对象的后处理器

如果希望在spring之外使用该类,只需实例化它(使用构造函数),并手动调用init方法(如果存在)。请注意,您将丢失spring为事务、调度、缓存等对象创建的自动代理。

似乎日志语句可以很快解决第一个问题

你的第二个问题我不太清楚。您可以使用注释,并至少跳过大多数XML。然而,我不知道Jersey客户端的东西对Spring有很强的依赖性


如果您想在没有配置文件和注释的情况下使用Spring,您可以通过编程方式构建上下文,尽管我不知道您为什么要这样做,除了测试之外。即使这样,扩展现有上下文也更容易,IMO。

是的,spring调用构造函数。如果未指定任何构造函数参数,则它将调用无参数构造函数。
public class myclassinfo {
   public myclassinfo() {
       // Here I'm initializing Jersey client
   }
}