2010小问题解决汇总跟贴

      关于如何建立compass索引为项目的相对路径问题,最初是在本地测试,可以随意建立索引位置, 但是如果借用虚拟主机来发布项目,则不行,原因是虚拟主机并不能给我们随意访问磁盘的权限。本次项目是在spring中整合compass,最初的本地测试:compass在spring的配置内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context    
    http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    ">
	<context:component-scan base-package="com.asm" />
	<bean id="localEMF"
		class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="jpaDemo" />
	</bean>
	<bean id="txManager"
		class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="localEMF" />
	</bean>
	<tx:annotation-driven transaction-manager="txManager" />

	<!-- compass扫描相关的配置 start -->
	<bean id="compass" class="org.compass.spring.LocalCompassBean">
		<!-- 指定映射类方式 -->
		<property name="classMappings">
			<list>
				<value>com.asm.product.entity.Axx</value>
				<value>com.asm.product.entity.Bxx</value>				
			</list>
		</property>
		

		<property name="compassSettings">
			<props>
				<!-- 索引存放位置 -->
				<prop key="compass.engine.connection">
					file://e:/indexStore
				</prop>
				<prop
					key="compass.engine.highlighter.default.formatter.simple.pre"><![CDATA[<font color='red'>]]></prop>
				<prop
					key="compass.engine.highlighter.default.formatter.simple.post"><![CDATA[</font>]]></prop>
				<prop key="compass.transaction.factory">
					org.compass.spring.transaction.SpringSyncTransactionFactory
				</prop>
			</props>
		</property>
		<property name="transactionManager" ref="txManager" />
	</bean>
	<!-- CompassGps为CompassGpsDevice提供Compass对象,他们一起为程序提供索引的实时更新 -->
	<bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps"
		init-method="start" destroy-method="stop">
		<property name="compass" ref="compass" />
		<property name="gpsDevices">
			<list>
				<bean
					class="org.compass.spring.device.SpringSyncTransactionGpsDeviceWrapper">
					<property name="gpsDevice">
						<!-- 为gpsDevice属性注入针对JPA的GPS驱动 -->
						<bean
							class="org.compass.gps.device.jpa.JpaGpsDevice">
							<property name="name" value="jpaDevice" />
							<property name="entityManagerFactory"
								ref="localEMF" />
							<property
								name="injectEntityLifecycleListener" value="true" />
						</bean>
					</property>
				</bean>
			</list>
		</property>
	</bean>

	<!-- compass扫描相关的配置 end -->

</beans>

 这样配置后,在本地索引肯定没问题,但是我们无论如何修改

<prop key="compass.engine.connection">
					file://e:/indexStore
</prop>

这段配置,它生成的索引路径总会是依赖于它的一个绝对路径,并不会依赖于当前项目中生成一个相对路径的索引,由于本身对compass认识并不深刻,加之并没有时间认真去看它的一些源码,这里只简要地就说下关于索引建立时compass的处理方式:如果你指定了connection配置来建立索引位置,它就会根据它的值来作为相对路径来生成索引的绝对路径。即只需在项目中为如果你配置了org.compass.spring.LocalCompassBean  bean对象增加如下配置:

	<!-- 索引存放位置 -->		
      	<property name="connection">
            <value>/indexStore</value>
        </property>

    这样建立的索引位置就是一个相对路径。至此问题解决。

 但是这样配置后,也引发了项目中的一个小问题,在项目中用到了ajax异步交互,而ajax后台处理程序是servlet,最开始是直接写了一个工具类LogicBeanUtil来得到要用得业务层bean,但是继续使用它来处理,又存在初始化spring容器错误,由于spring容器中配置的connection[compass索引]依赖于整个web容器,而最初我涉及的logicBeanUtil是脱离了web容器,所以这样做并不能得到业务层bean对象,其实在servlet中可以有一很方便的方式注入业务层对象,代码如下:

WebApplicationContext ctx = WebApplicationContextUtils
				.getWebApplicationContext(getServletContext());
UserService userService = (UserService) ctx.getBean("userServiceBean");

 至此问题得已解决。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值