0 0

为什么会出现“自动注入”不合适的信息5

在applicationContext.xml文件中,配置sessionFactory信息如下:
-------------------------------------------------------------------------------------------------------
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
-------------------------------------------------------------------------------------------------------
启动:mvn jetty:run
-------------------------------------------------------------------------------------------------------
INFO - starting query cache at region: org.hibernate.cache.StandardQueryCache
INFO - Bean 'sessionFactory' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Bean 'sessionFactory' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Bean 'transactionManager' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Bean '(inner bean)' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Bean '(inner bean)' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Bean 'org.springframework.transaction.config.internalTransactionAdvisor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
INFO - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@cd43ce: defining beans [userService,aexaminationService,attendanceService,dictionaryService,memberService,organizeService,projectService,taskService,timesheetService,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,sessionFactory,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.config.internalTransactionAdvisor,transactionManager,org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator#0,transactionInterceptor,baseTransactionProxy,commonDao,commonService,queryService,osCache]; root of factory hierarchy
INFO - Init Cache...
-------------------------------------------------------------------------------------------------------
但是,应用工作正常。
问题补充:
感谢llade的回答,BTW,这个论坛怎么没有引用说明项呢?还是我没找到?
按照提示的内容来看,sessionFactory没有自动注册成功,应用应该不能工作,但事实并不是这样。这个提示,应该是Spring抛出的,说明还是有些不正常的问题存在的,不管LOG4J是如何定义的。
问题补充:
应用中的BEAN都是按照SPRING的规范写的:实现类来自于接口。
这里就拿sessionFactory来说吧,是引自于SPRING的工厂类,看INFO的信息,却指的是这样的类不适合自动注入。工厂类,怎么会在BEAN中每一次都自动注入呢,显然,我没有这样写过。
我重新改了一下applicationContext.xml中的配置:
--------------------------------------------------------------------------------
<context:component-scan base-package="hk.com.****" />
--------------------------------------------------------------------------------
这个提示已经没有了:
--------------------------------------------------------------------------------
[userService,aexaminationService,attendanceService,dictionaryService,memberService,organizeService,projectService,taskService,timesheetService,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,sessionFactory,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.config.internalTransactionAdvisor,transactionManager,org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator#0,transactionInterceptor,baseTransactionProxy,commonDao,commonService,queryService,osCache]; root of factory hierarchy
--------------------------------------------------------------------------------
但INFO中eligible信息,还是存在.

2008年7月01日 15:11

3个答案 按时间排序 按投票排序

0 0

“不适合被处理"的原因是因为有些BeanPostProcessor不处理没有实现接口的bean或者是factoryBean,transactoryManager和sessionFactory都是FactoryBean,FactoryBean表示class中的类是个工厂类,实际返回给客户程序的Bean是FactoryBean的getObject()得到的对象。

你的InnerBean我猜肯定是没有implement一个接口的。对吧?

2008年7月11日 20:47
0 0

INFO级别的一般来说不算错误,WARN级别的也不算错误,只是警告。像spring这类开源软件不会不知道这个约定的。

输入框上面的Quote按钮就是引用。


INFO的英文意思是:。此Bean未被BeanFactory注册的所有BeanPostProcessor处
过,表示提醒注意,并没有说警告。

2008年7月11日 20:43
0 0

首先INFO级别的信息通常表示应用程序没有出错,你可以调整log4j.properties里的
log4j.rootLogger=WARN...
把程序的日志级别设置为WARN,这样DEBUG,INFO级别信息就不会出现在输出终端。

BeanPostProcessor是控制Bean初始化开始和初始化结束的接口。换句话说实现BeanPostProcessor的bean会在其他bean初始化之前完成,BeanPostProcessor会通过接口方法检查其他类型的Bean并做处理。当一个Bean不是被BeanFactory注册的所有BeanPostProcessor处理过则会打印上述信息。通常auto-proxy只是针对部分bean的进行处理的,所以个别bean不是被“完全”处理也很正常。

2008年7月02日 14:32

相关推荐

    SQLmap注入工具

    sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, ...

    SQL注入攻击与防御

    SQL注入是Internet上最危险、最有名的安全漏洞之一,...理解它是什么以及它的基本原理, 查找、确认和自动发现SQL注入, 查找代码中SQL注入时的提示和技巧, 使用SQL注入创建利用, 通过设计来避免由SQL攻击所带来的危险

    Python实现自动sql注入

    我不鼓励或支持任何违反法律和道德的行为,包括自动SQL注入。SQL注入是一种安全漏洞,可能导致系统被攻击者利用并获取敏感信息。 作为开发者或用户,我们应该采取措施来防止SQL注入攻击,而不是去实现自动化工具来...

    基于Python的自动化SQL注入工具开发

    不开互联网,大到国家,小到组织和个人,都已经习惯了享受互联网为我们带来的 便利。然而,纷繁复杂的互联网应用背后却暗藏着巨大的安全隐患,据Cybersecurity Ventures预测,2021年因网络攻击造成的经济损失将达到6...

    sqlmap 自动化的SQL注入工具

    2、完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。 3、在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。 4、支持枚举用户、密码、...

    spring自动装配例子

    (3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 &lt;bean class="xxx" &gt;&lt;/bean&gt; (4)constructor:与 byType 方式类似,不同之处是构造注入 &lt;bean class="xxx" &gt;&lt;/bean&gt; 本例,演示 byName...

    超级SQL注入工具V1.0正式版源码

    本工具为渗透测试人员、信息安全工程师等掌握SQL注入技能的人员设计,需要使用人员对SQL注入有一定了解。 工具特点: 1.支持任意地点出现的任意SQL注入 2.支持全自动识别注入标记,也可人工识别注入并标记。 3.支持...

    SQLServer注入工具改进版

    软件将自动保存获取的信息,并可以导出(在列表右击弹出菜单)3.可以建立多个项目,在左边的TTReeView右击弹出菜单4.获取数据时可以自行设定条件,以获取特定的数据BUG:1.有时获取所有列的数据时不能获取数据,获取...

    Delphi源码版:SQL注入程序实例.rar

    软件将自动保存获取的信息,并可以导出(在列表右击弹出菜单)  3.可以建立多个项目,在左边的TTReeView右击弹出菜单  4.获取数据时可以自行设定条件,以获取特定的数据  BUG:  1.有时获取所有列的数据时不...

    python-di:python的全自动依赖项注入

    可配置的对象聚合注入SomeClass可以加入SomeClass对象并注入标注为Collection[SomeClass] 不损害现有代码库-无需修饰符,现有代码库中无需额外的元数据即可构建应用程序 没有单例或全局DI进程状态-应用程序或任何...

    SQL注入攻击与防御(安全技术经典译丛)

     3.3 自动复查源代码第1章 什么是SQL注入  3.3.1 YASCA  3.3.2 Pixy  3.3.3 AppCodeScan  3.3.4 LAPSE  3.3.5 SWAAT  3.3.6 Microsoft SQL注入源代码分析器  3.3.7 CAT.NET  3.3.8 商业源代码复查...

    DLL注入实例+教程

    首先,我们要提升自己的权限,因为远程注入必不可免的要访问到目标进程的内存空间,如果没有足够的系统权限,将无法作任何事.下面是这个函数是用来提升我们想要的权限用的. function EnableDebugPriv: Boolean; ...

    中国分类信息网源程序

    本分类信网程序基于ASP+Access...使注入者不能再访问本站) 20、修复了一些已知错误 21、企业黄页增强为目前官方使用的中国黄页 &lt;br&gt; &lt;br&gt;演示地址:http://www1.6900.net&lt;br&gt;&lt;br&gt;测试帐号密码均为:qyadmin

    SqlMap-Sql注入

    完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。 支持枚举用户、密码、哈希、...

    SQL防注入过滤程序 v1.0

    对非法注入,提交的信息进行详细的记录,方便网站管理员查看非法记录,或删除以前的记录; 对3次注入以上的自动封注入者Ip功能,这个次数可以自己设置; 加入完善的过滤函数,在线修改过滤函数,自由添加和修改禁止登陆的...

    ASP.NET中如何防范SQL注入式攻击

    一、什么是SQL注入式攻击?  所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态...

    免费开源的SQL注入工具SQLmap.zip

    SQLmap是一款用来检测与利用SQL注入漏洞的免费开源工具,有一个非常棒的特性,即对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。   读者可以通过位于SourceForge的官方网站下载SQLmap源码...

Global site tag (gtag.js) - Google Analytics