使用spring全注解实现继承时遇到的问题
来源:互联网 发布:mysql 更改character 编辑:程序博客网 时间:2024/05/17 07:25
最近在做公司项目,发现公司使用ssm框架时,使用的都是xml文件配置的方式来配置bean,个人闲着无聊,尝试使用全注解的方式来改造这些工程,其中遇到一个问题,场景是:A类继承了B类,B类(抽象类)中定义了两个成员变量(接口引用)和N个成员方法。我需要实现C类调用A类时,使用全注解实现这一步操作。但是在实际运用时,却发现C类中调用A类的D方法(内部是B类两个成员变量实现类的业务操作),是A类继承自B类的方法,A类中没有重写,并且此方法中需要传入B类的两个成员变量(接口类)。
问题在于,我在A类加上注解,通过C类进行调用时,发现方法执行后的结果是空,经过排查,如果单纯的给A类加上注解,D方法不能正确执行得到正确的结果。
解决思路:需要在A类中,为其父类注入相应成员变量的属性值(使用全注解实现)。
解决方案有两种:
方案一:使用@PostConstruct方法
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。@PostConstruct
修饰的方法会在构造函数之后,init()方法之前运行。
问题在于,我在A类加上注解,通过C类进行调用时,发现方法执行后的结果是空,经过排查,如果单纯的给A类加上注解,D方法不能正确执行得到正确的结果。
解决思路:需要在A类中,为其父类注入相应成员变量的属性值(使用全注解实现)。
解决方案有两种:
方案一:使用@PostConstruct方法
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct。这两个注解被用来修饰一个非静态的void()方法.而且这个方法不能有抛出异常声明。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。@PostConstruct
修饰的方法会在构造函数之后,init()方法之前运行。
@Resource(name = "B类属性实现类的注解ID")private B类属性 B类属性实现类的注解ID;@PostConstructpublic void init(){super.set属性值(B类属性实现类的注解ID);}方案二:使用set方法注入
@Resource(name = "B类属性实现类的注解ID")@Overridepublic void setB类属性(B类属性 B类属性名) {super.setB类属性(B类属性名);}上述B类与场景中的B类是一个概念,是一个泛指,B类属性是一个接口类。
1 0
- 使用spring全注解实现继承时遇到的问题
- 使用spring @@Resource注解时遇到的问题
- 初学spring aop 注解遇到的问题
- spring(DI)注解的使用、类扫描的注解、Xml的继承、注解的继承
- 遇到的Spring注解
- 我在编写SpringMVC的Controller时遇到的注解继承问题
- 【springboot】使用注解遇到的问题
- hibernate5使用注解遇到的问题
- 关于集成spring、dwr、maven并使用注解开发所遇到的一些问题
- 使用fastjson编辑全大写字段时遇到的问题
- 使用hibernate实体全注解时遇到Unknown entity解决办法
- Spring - 注解的使用 和 继承的配置
- Spring 注解配置事务中所遇到的一点问题
- 关于DAO实现类继承JdbcDaoSupport类后,使用注解无法注入DataSource的问题
- Spring AOP的使用 基于全注解AspectJ
- hinbernate中hql的查询报错及spring注解访问时遇到的问题解析
- 使用Spring的注解方式实现AOP
- 使用Spring的注解方式实现AOP
- 利用Cobalt strike一步步教你发送钓鱼邮件
- reading session
- Tomcat(三) Tomcat安装配置:Tomcat+Nginx+keepalived 实现动静分离、Session会话保持的高可用集群
- 【LeetCode】 116. Populating Next Right Pointers in Each Node
- react+redux框架配置从无到有直到正常运行全流程(上)
- 使用spring全注解实现继承时遇到的问题
- Aircrack-ng 之wifi破解
- 【Linux Socket 编程入门】04 - socket编程最常使用的函数及数据结构
- Path in Matrix
- 这才是2017年规划---贫穷来自于懒惰
- 153. Find Minimum in Rotated Sorted Array
- 总结一下学习vb串口通信的初期果实
- 扩展LDBSCAN 算法在图上的应用
- wamp+win10: php连接Mysql, delete update insert 详细操作步骤