`
zhaoliaoyuan
  • 浏览: 21733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类

关于spring的@Autowired 时的异常

阅读更多

在公司做项目中碰到的一些从没有遇到的异常;

公司使用的是注解方式进行sping 的依赖注入;模块间的调用通过接口实现;

这是接口:

里面定义供调用的方法,方法已经被别的模块的类实现;

public interface IFcIntrestDtlService {
 
    public double  calculateSumInterest(Date startDate, Date endDate,int interestType,String accTypeCode,String corpCode,String curCode);

 
    List<DecisionFuncValue> calculateSumInterest(Date startDate, Date endDate,int isNetSign);

 
    List<DecisionFuncValue> calculateLxzc(Date startDate, Date endDate, int netSign);
}

 

这是依赖接口的调入类,调入类负责定义接口调用接口中的方法;

@Transactional
@Service("decisionImportService")
public class DecisionImportService {
    /**
     * 币别service
     */
    @Autowired(required = false)
    private IBtCurrencyService iBtCurrencyService;
   
   
    /**
     *
     */
    @Autowired(required = false)
    IBtUserManagerServcies iBtUserManagerServcies;

如果接口中的方法实现不存在,就是别的模块没有被加载进当前项目中。那么就要设置这个属性:在程序启动时不加载这个依赖的接口和模块
    

    @Autowired(required = false)
    private IFcIntrestDtlService iFcIntrestDtlService;

    @Autowired(required = false)
    private IFcAccBalanceService iFcAccBalanceService;

 

    /**
     *
     */
    @Autowired
    IBtCorpService iBtCorpService;

    /**
     * 网点的service
     */
    @Autowired
    private IBtNetService iBtNetService;


    @Autowired(required = false)
    private IFcSubjectDayService iFcSubjectDayService;
   


    @Autowired(required = false)
    private IFcSubjectService iFcSubjectService;


    public IFcSubjectService getIFcSubjectService() {
        return iFcSubjectService;
    }

    public void setIFcSubjectService(IFcSubjectService iFcSubjectService) {
        this.iFcSubjectService = iFcSubjectService;
    }

    public IFcSubjectDayService getIFcSubjectDayService() {
        return iFcSubjectDayService;
    }

    public void setIFcSubjectDayService(IFcSubjectDayService iFcSubjectDayService) {
        this.iFcSubjectDayService = iFcSubjectDayService;
    }

    public IFcIntrestDtlService getIFcIntrestDtlService() {
        return iFcIntrestDtlService;
    }

    public void setIFcIntrestDtlService(IFcIntrestDtlService iFcIntrestDtlService) {
        this.iFcIntrestDtlService = iFcIntrestDtlService;
    }

    public IBtCorpService getIBtCorpService() {
  return iBtCorpService;
 }

    public IFcAccBalanceService getIFcAccBalanceService() {
        return iFcAccBalanceService;
    }

    public void setIFcAccBalanceService(IFcAccBalanceService iFcAccBalanceService) {
        this.iFcAccBalanceService = iFcAccBalanceService;
    }

    public void setIBtCorpService(IBtCorpService btCorpService) {
  iBtCorpService = btCorpService;
 }


 public IBtCurrencyService getIBtCurrencyService() {
  return iBtCurrencyService;
 }


 public void setIBtCurrencyService(IBtCurrencyService btCurrencyService) {
  iBtCurrencyService = btCurrencyService;
 }


 public IBtUserManagerServcies getIBtUserManagerServcies() {
  return iBtUserManagerServcies;
 }


 public void setIBtUserManagerServcies(
   IBtUserManagerServcies btUserManagerServcies) {
  iBtUserManagerServcies = btUserManagerServcies;
 }


 public IBtNetService getIBtNetService() {
  return iBtNetService;
 }


 public void setIBtNetService(IBtNetService btNetService) {
  iBtNetService = btNetService;
 }


}

 

1
1
分享到:
评论
1 楼 tanyongbing 2010-06-24  

相关推荐

    (转)Spring中@Autowired注解和@Resource注解的区别

    在阅读《Spring中Autowired和Resource的区别.docx》文档时,可以深入探讨这两个注解的内部实现原理,以及在实际项目中的最佳实践。通过源码分析,我们可以了解到Spring如何解析这些注解并执行依赖注入的过程,这有助...

    Spring@Autowired注解与自动装配.rar

    - **字段注入**:直接在成员变量上使用`@Autowired`,Spring会在初始化时注入对应的bean。 ```java @Autowired private MyService myService; ``` - **方法注入**:可以在setter方法或带有参数的方法上使用`@...

    Spring @Autowired

    `@Autowired`注解可以用于字段、方法和构造函数,表明Spring容器会在运行时自动为这些成员提供合适的依赖。例如: ```java @Service public class UserService { private final UserRepository userRepository; ...

    SSH笔记-通过@Autowired配置注入关系

    5. **方法注入**:同样的,你可以在setter方法或者任何带有参数的方法上使用`@Autowired`,Spring会在调用该方法时注入对应的依赖。 6. **注解与XML配置的结合**:在Spring 4中,`@Autowired`可以与XML配置一起使用...

    Spring注解@Resource和@Autowired.doc

    Spring 注解@Resource 和@Autowired Spring 框架中提供了两个重要的注解,分别是@Resource 和@Autowired,它们都是用于 bean 的自动装配的。了解这两个注解的区别和使用场景是非常重要的。 首先,@Autowired 是 ...

    Spring的Autowired自动装配(XML版本+Annotation版本+源码+解析)

    当Spring容器初始化时,会扫描所有带有@Autowired的注解,然后通过BeanPostProcessor接口进行后处理,实现依赖注入。 这个过程大致分为以下几步: 1. 找到带有@Autowired的字段、方法或构造器。 2. 根据注解的配置...

    12 @Autowired是如何工作的?-Spring注解源码深度揭秘-慕课专栏1

    这样,Spring容器在初始化时可以通过反射获取到`@Autowired`注解,进而执行依赖注入操作。 `@Documented`元注解表示该注解会被包含在JavaDoc文档中,方便开发者查阅。 在程序元素的枚举类型`ElementType`中,我们...

    @Autowired 注解是如何实现的?(csdn)————程序.pdf

    当Spring扫描带有`@Autowired`注解的字段、构造函数或方法时,它会执行以下步骤: 1. **候选Bean的查找**:Spring会根据目标类型(如`MovieCatalog`)在`BeanFactory`中搜索Bean。如果提供了`@Qualifier`注解,那么...

    Intellij IDEA如何去掉@Autowired 注入警告的方法

    这个问题是很多开发者在使用Spring框架和Mybatis时经常遇到的问题。 首先,让我们了解为什么Intellij IDEA会显示红色告警。当我们在Service层注入Mybatis的Mapper时,我们通常会使用@Autowired 自动注入。但是,这...

    你所不知道的Spring的@Autowired实现细节分析

    总结,`@Autowired`的实现涉及到Spring Bean生命周期中的多个阶段,包括BeanPostProcessor的回调、构造函数的选择、依赖匹配和异常处理等。理解这些细节对于优化Spring应用的依赖管理以及排查相关问题至关重要。通过...

    spring中Autowired和Qulifier注解

    如果找到多个相同类型的Bean,Spring会抛出异常,除非你提供了进一步的配置来解决这个冲突,比如使用`@Qualifier`注解。 `@Autowired`的使用方式有以下几种: 1. 字段注入: ```java @Autowired private MyService...

    学习Spring笔记_Annotation(注解)_Autowired_Qualifier

    Spring的核心特性之一是使用注解来简化配置,其中`@Autowired`和`@Qualifier`是两个关键的注解,它们在自动装配Bean时发挥着重要作用。这篇学习Spring笔记将深入探讨这两个注解的用法、原理以及它们在实际开发中的...

    详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决

    但是在多线程处理任务中,当我们使用 @Autowired 注入 bean 时,会出现空指针异常。这是为什么呢? 原因分析: 在 SpringBoot 应用程序中,bean 的注入是通过 ApplicationContext 来实现的。在多线程处理任务中,每...

    Spring框架中 @Autowired 和 @Resource 注解的区别

    当在字段或方法上使用`@Autowired`时,Spring会查找与该字段或方法参数类型相匹配的Bean,并将其注入。如果找到多个匹配的Bean,可以通过提供`@Qualifier`注解来指定特定的Bean。如果没有任何匹配的Bean,Spring会抛...

    spring的annotation的autowired

    默认情况下,`@Autowired`是基于类型的,即Spring会查找与目标类型匹配的Bean,如果找到了就注入,如果没有找到则抛出异常。 ### 2. 使用方法 #### 2.1 基于类型的自动装配 在字段、构造函数、方法或参数级别上...

    spring autowired注解完整版

    @Autowired 注解是 Spring 框架中的一个重要特性,它出现在 Spring 2.5 版本中,用于简化依赖注入(Dependency Injection,简称 DI)的过程。DI 是一种设计模式,允许对象之间的依赖关系在运行时自动解决,使得代码...

    Spring @compenent注解详解

    使用`@Autowired`注解可以实现依赖注入,Spring会自动寻找匹配类型的Bean进行注入。也可以配合`@Qualifier`注解来精确指定要注入的Bean。 7. **初始化与销毁方法** `@PostConstruct`和`@PreDestroy`注解分别标识...

    解决Springboot @Autowired 无法注入问题

    4. `@Autowired`的可选性:默认情况下,`@Autowired`是非必需的,如果找不到匹配的bean,Spring会抛出异常。你可以通过设置`@Autowired(required=false)`让它成为可选的。 5. Spring配置问题:检查`application....

    关于spring boot中几种注入方法的一些个人看法

    @Autowired 的工作原理是,在启动 Spring IoC 时,容器自动装载了一个 AutowiredAnnotationBeanPostProcessor 后置处理器,当容器扫描到 @Autowired、@Resource 或 @Inject 时,就会在 IoC 容器自动查找需要的 bean...

Global site tag (gtag.js) - Google Analytics