当前位置: 首页 > 知识库问答 >
问题:

如何为spring中组件扫描自动创建的bean设置Init方法

尚安平
2023-03-14
@Configuration
@ComponentScan
public class Appconfig {
    @Bean(name="Andre",initMethod="init",destroyMethod="destroy")
    @Scope("singleton")
    public Person person() {
        Person person = new Person(1,"Andre");
        person.setTaxId(5);
        return person; 
    }

不知何故,Eclipse似乎不知道如何自动导入这个注释。再浏览了一些之后,我发现使用

import javax.annotation.PostConstruct;

工作,但有一个警告说:

访问限制:类型'PostConstruct'不是API(对所需库'C:\Program Files\java\jre1.8.0_45\lib\rt.jar')的限制

共有1个答案

仇飞鹏
2023-03-14

您可以实现InitializingBean接口。它声明AfterPropertiesSet方法,该方法应该完全按照您的要求执行。

Spring Javadoc InitializingBean

J2EE-Spring等价物

 类似资料:
  • 我找不到关于beans xml配置的文档,所以我在这里问:在 在概念上与Java中的包相同吗? 例如,在我的src/main/java(Eclipse中的项目资源管理器视图,平面包演示)中,假设我有4个包com.amazon、com.amazon.entities、com.amazon.services、com.amazon.repositories.在Navigator视图中,我只有“amazo

  • 我正在使用spring boot开发一个应用程序。我添加了一些具有xml配置的遗留依赖项库。我想使用Spring定义的豆子。xml文件。我已经在我的组件扫描中添加了这个包,但是这个bean似乎没有被提取出来。我应该为spring boot添加任何额外的配置来读取xml配置吗?

  • 我正在编写一个新的SpringBoot项目,其中我的根包名是“com.example”。在我的gradle配置中,我添加了一个第三方库的依赖项,它的根包名为“org.base”。现在,这个库中有带有@Component注释的类,我想在代码中使用@Autowired 在我的配置类中,我也扫描第三方库的基本包。 当我运行应用程序时,spring无法从这个库中找到/创建bean,我得到了一个bean n

  • 我的appcontext-test.xml可以很好地处理这个 但当我试图理解spring时,我认为这可能也有用。因此,我注释了jpa:repositories标记,并用以下内容补充了我的组件扫描: 我的存储库是用@repository注释的 我

  • 我正在使用Spring Boot创建一个微服务,除了一些小麻烦之外,一切都很好。 Autowired成员必须在有效的spring bean中定义(@component/@service等)检查是否在有效的Spring bean(@component@service...)中定义了自动连线成员。 这是使用以下测试类 其中我的应用程序配置类定义为 此外,我的应用程序中唯一未覆盖的行是公共静态void

  • 我们有一个应用程序,它不断从第三方库加载ServletContainerInitializer的实例。 一个实例是JerseyServletContainerInitializer,另一个是SpringServletContainerInitializer。这些来自Jersey和Spring的类似乎“接管”了我们的servlet上下文,扰乱了我们的映射和过滤器等等。 我们确实需要显式配置servl