java 子类 继承父类的注解,spring使用注解通过子类注入父类的私有变量

方法一

通过super.setBaseDao方法设置父类私有变量

父类

public class BaseServiceImpl {

private BaseDao baseDao;

public BaseDao getBaseDao() {

return baseDao;

}

public void setBaseDao(BaseDao baseDao) {

this.baseDao = baseDao;

}

public void test(){

System.out.println("TsetService...... ");

baseDao.test();

}

}

子类

@Service("testServiceImpl")

public class TestServiceImpl extends BaseServiceImpl{

@Resource(name="testDao")

public void initBaseDao(TestDao testDao) {

super.setBaseDao(testDao);

}

}

方法二

@PostConstruct是Java EE 5引入的注解,Spring允许开发者在受管Bean中使用它。当DI容器实例化当前受管Bean时,@PostConstruct注解的方法会被自动触发,从而完成一些初始化工作

父类同上

子类

@Service("testServiceImpl")

public class TestServiceImpl extends BaseServiceImpl{

private TestDao testDao;

public TestDao getTestDao() {

return testDao;

}

@Resource(name="testDao")

public void setTestDao(TestDao testDao) {

this.testDao = testDao;

}

@PostConstruct

public void initBaseDao(TestDao testDao) {

super.setBaseDao(testDao);

}

}

方法三

父类被注入对象非私有,子类重写setter方法注入到父类变量

父类

public class BaseServiceImpl {

protected BaseDao baseDao;

public BaseDao getBaseDao() {

return baseDao;

}

public void setBaseDao(BaseDao baseDao) {

this.baseDao = baseDao;

}

public void test(){

System.out.println("TsetService...... ");

baseDao.test();

}

}

子类

@Service("testServiceImpl")

public class TestServiceImpl extends BaseServiceImpl{

@Resource(name="testDao")

public void setBaseDao(BaseDao baseDao) {

this.baseDao = baseDao;

}

}

spring通过注解方式依赖注入原理 (私有成员属性如何注入)

一.spring如何创建依赖的对象 用过spring的都知道我们在dao.service层加上@repository.@Service就能将这两个对象交给spring管理,在下次使用的时候使用@res ...

转:C++:从子类访问父类的私有函数

众所周知,c和c++的数组都是不安全的,因为无论c还是c++都不提供数组边界检查功能,这使得数组溢出成为可能.从某个意义上说,c和c++是一种缺少监督的语言,然而这也正是其魅力所在.c++给予程序员更 ...

Java子类访问父类的私有成员变量

/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中 ...

SSM-Spring-07:Spring基于注解的di注入

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解: 说起注解,哇哦,每个人都或多或少的用到过 像什么@Overried,@Test,@Param等等之前就 ...

Shiro自定义Realm时用注解的方式注入父类的credentialsMatcher

用Shiro做登录权限控制时,密码加密是自定义的. 数据库的密码通过散列获取,如下,算法为:md5,盐为一个随机数字,散列迭代次数为3次,最终将salt与散列后的密码保存到数据库内,第二次登录时将登录 ...

Spring @Value注解使用${}进行注入(转)

原文:http://my.oschina.net/js99st/blog/632104 spring3中新增的@value注解 http://bijian1013.iteye.com/blog/202 ...

07 Spring框架 依赖注入(四)基于注解的依赖注入

前面几节我们都在使用xml进行依赖的注入,但是在实际的开发中我们往往偏爱于使用注解进行依赖注入,因为这样更符合我们人的思维,并且更加快捷,本节就来讲述Spring基于注解的依赖注入: 信息注入注解 @ ...

Spring - Spring 常用注解

概述 简单整理一些 Spring 的注解 这个算是一个 水一波 类型的整理 内容不全 分类可能有的地方不会太符合逻辑 而且时间也不太充裕 先把自己想写的写下来, 然后随缘整理吧 约定 版本 Sprin ...

随机推荐

MTK MT33xx型GPS的NMEA协议解析实例

1)解析实现 gps_main.c #include #include #include #i ...

【转】What is an SDET? Part 2 – Skill Matrix of SDET

What is an SDET? Part 2 ---- Skill Matrix of SDET (Instead of naming it as part 2 of What is an SDET ...

MSSQL—按照某一列分组后取前N条记录

以前在开发的时候遇到过一个需求,就是要按照某一列进行分组后取前几条数据,今天又有同事碰到了,帮解决了之后顺便写一篇博客记录一下. 首先先建一个基础数据表,代码如下: IF OBJECT_ID(N'Te ...

Sql Server对象管理器的使用

VS提供了很多便捷的工具,Sql Server对象管理器可以直接在VS里面访问数据库,不用再打开一个Management Studio.这里记录下Sql Server对象管理器的使用. 1.先在视图里 ...

JavaScript实战-菜单特效

以下是我自己用原生JS写的各种菜单特效,虽然网上一搜一大堆,但我还是喜欢自己来写一写! 这是上一篇:JavaScript实战(带收放动画效果的导航菜单) 下面是经过优化后的完整代码,优化了CSS样式. ...

Android Contextual Menus之一:floating context menu

Android Contextual Menus之一:floating context menu 上下文菜单 上下文相关的菜单(contextual menu)用来提供影响UI中特定item或者con ...

mysql-5.7.15-winx64免安装版配置

1.拷到硬盘根目录下; 2.在 bin 平行目录下新建  data 文件夹: 3. 修改  my-default.ini 文件,添加 basedir = C:\mysql-5.7.15-winx64d ...

谈谈C#中的 Dispose 和 Finalize

主要有一下几点需要知道: 1. Dispose需要实现IDisposable接口. Finalize就是c#中的析构方法,方法名以~开始. 2. Dispose由开发人员代码调用,而Finalize由 ...

cocos2dx 3.4 截图代码

Size size = Director::sharedDirector()->getWinSize(); //定义一个屏幕大小的渲染纹理 RenderTexture* pScreen = Re ...

基因组与Python --PyVCF 好用的vcf文件处理器

vcf文件的全称是variant call file,即突变识别文件,它是基因组工作流程中产生的一种文件,保存的是基因组上的突变信息.通过对vcf文件进行分析,可以得到个体的变异信息.嗯,总之,这是很 ...