spring @Autowired service dao装配顺序?

问题描述

spring @Autowired service dao装配顺序?
代码结构如下:
@Controller
public class MyController{

@Autowiredprivate MyService service;

}

@Service
public class MyService{

@Autowiredprivate MyFirstDao myFirstDao;public void check(Integer id) {    //调用baseDao中基本的查询entity的方法    myFirstDao.find(id);//此处myFirstDao==null 为什么??}

}

@Repository
public class MyFirstDao extends BaseDao{//FirstEntity extends BaseEntity

}

@Repository
public class MySecondDao extends BaseDao{//SecondEntity extends BaseEntity

}

public class BaseDao{

//实现基本的增删改查public void find(){}public void del(){}public void add(){}

}

按照我的理解,在初始化controller时会自动注入service(即完成service的初始化并获一个实例对象),同时因为service中有用@Autowired标注MyFirstDao ,因此会同时给serivce注入myFirstDao才对,为什么myFirstDao没注入成功呢?获取到的dao为null。

此种场景下,要调用基本的baseDao中的查询方法应该如何解决呢?

注: 其他xml中的配置都没问题。

急求解答。初学者对spring机制不是特别熟悉。

解决方案

看service是不是为null

时间: 2024-09-13 02:37:46

spring @Autowired service dao装配顺序?的相关文章

spring-使用Spring在Service中注入了Dao的对象,在Service中怎么获取Dao的对象

问题描述 使用Spring在Service中注入了Dao的对象,在Service中怎么获取Dao的对象 使用Spring在Service中注入了Dao的对象,然后在Service中需要使用Dao对象的话,可以用ApplicationContext的getBean方法,我这边看的一个程序没有用ApplicationContext,而是在Service中对Dao对象进行了声明,然后定义了Dao对象的set和get方法,这样也可以吗,还是说这个程序我没有看明白,希望有明白的可以给解释一下,另希望有大神

Spring @Autowired、@Resource、@Required、@Component、@Repository、@Service、@Controller注解的用法和作用

Spring @Autowired,@Resource,@Required注解的用法和作用 Spring中 @Autowired标签与 @Resource标签 的区别 Spring注解@Component.@Repository.@Service.@Controller区别

spring-通过类反射调用的类中,通过Spring @Autowired 装载失败

问题描述 通过类反射调用的类中,通过Spring @Autowired 装载失败 使用了@Autowired注释,自动装配成员变量,正常情况下没有问题,但是当这个类通过java的反射机制调用时,自动装配失败,成员变量时空值,出现空指针异常. 解决方案 已经解决了,不过觉得破坏了框架,可能真的没法办法吧,现在贴出来我自己解决的办法 //手动注入,防止反射无法注入 private void ManulInject(){ ApplicationContext apx=new ClassPathXmlA

spring数据源-关于spring AbstractRoutingDataSource和切面执行顺序问题

问题描述 关于spring AbstractRoutingDataSource和切面执行顺序问题 我想spring AbstractRoutingDataSource和spring aop配合使用,达到动态切换数据源的功能.现在有一个问题是,如果我把aop before设置到service层上,发现一个请求过来会先进入spring mvc的controller,然后再进入AbstractRoutingDataSource,最后才进去aop before中,这样就导致不能在service层动态切换

service层设计-关于三层架构中service dao 和实体的设计实现的疑问

问题描述 关于三层架构中service dao 和实体的设计实现的疑问 在 java 的三层架构中一直有几个问题困扰着我一直不得解决,特在此请教各位大神,还请各位大大,不腻赐教 场景: 加入现在是一个教务系统里面包含数据库表 课程表,学生表,学生购买的课程表 课程表 学生表 学生购买的课程表 这个时候如何设计实体类呢 学生实体1 public class student { private Integer id; private String name; private String birth

Spring实战3:装配bean的进阶知识

主要内容: Environments and profiles Conditional bean declaration 处理自动装配的歧义 bean的作用域 The Spring Expression Language 在装配bean-依赖注入的本质一文中,我们探讨了Spring的三种管理bean的方式:自动装配.基于JavaConfig.基于XML文件.这篇文字将探讨一些Spring中关于bean的管理的高级知识,这些技能你可能不会每天都用,但是非常重要. 3.1 Environments

Spring实战2:装配bean—依赖注入的本质

主要内容 Spring的配置方法概览 自动装配bean 基于Java配置文件装配bean 控制bean的创建和销毁 任何一个成功的应用都是由多个为了实现某个业务目标而相互协作的组件构成的,这些组件必须相互了解.能够相互协作完成工作.例如,在一个在线购物系统中,订单管理组件需要与产品管理组件以及信用卡认证组件协作:这些组件还需要跟数据库组件协作从而进行数据库读写操作. 在Spring应用中,对象无需自己负责查找或者创建与其关联的其他对象,由容器负责将创建各个对象,并创建各个对象之间的依赖关系.例如

请求-spring mvc service单例问题

问题描述 spring mvc service单例问题 spring mvc 的项目,controller的注解@Scope("session"),是会话级别的.对于每一个用户请求都会产生实例,这没有问题.那我controller中通过@Autowired注入的service,它现在也是会话级别的?还是仍然是单例的?即:每个用户的请求都会产生一个controller实例,那service的实例是产生一个还是多个呢?谢谢. 解决方案 service的实例在项目启动进行初始的时候已经生成了

spring+ibatis的dao接口 能使用内部类吗?

问题描述 spring+ibatis的dao接口 能使用内部类吗? spring+ibatis的dao接口 能使用内部类吗? spring扫描xml加载的 要怎么配置? 现在加载不到namespace指定的内部类 public interface MissionTypeMatterMapper { int deleteByPrimaryKey(Integer mission_matter_id); void insert(MissionTypeMatter record); List<Missi