maven專案下solr和spring的整合配置
solr和spring整合其實很簡單,只要注意匯入依賴的配置檔案即可。廢話不多說,上程式碼。
第一步:編寫maven專案的pom檔案,匯入依賴
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.millery.spring_solr</groupId> <artifactId>spring-solr</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <!-- 新增依賴 --> <dependencies> <!-- Spring依賴 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.1.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.1.3.RELEASE</version> </dependency> <!--solr客戶端solrj的依賴 --> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>4.10.1</version> </dependency> <!-- junit測試 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies> </project>
第二步:編寫applicationContext-solr.xml和solr.properties配置檔案
applicationContext-solr.xml配置檔案的內容:
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--定義solr的server--> <bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer"> <constructor-arg index="0" value="${solr.Url}"/> <!-- 設定響應解析器 --> <property name="parser"> <bean class="org.apache.solr.client.solrj.impl.XMLResponseParser"/> </property> <!-- 設定重試次數--> <property name="maxRetries" value="${solr.maxRetries}"/> <!-- 建立連線的最長時間 --> <property name="connectionTimeout" value="${solr.connectionTimeout}"/> </bean> </beans>
solr.properties配置檔案的內容:
solr.Url=http://127.0.0.1:8983/millery
solr.maxRetries=1
solr.connectionTimeout=500
第三步:編寫applicationContext.xml配置檔案
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--配置service的包掃描,自動注入Service --> <context:component-scan base-package="com.millery" /> <!-- 使用spring自帶的佔位符替換功能 --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <!-- 允許JVM引數覆蓋 --> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <!-- 忽略沒有找到的資原始檔 --> <property name="ignoreResourceNotFound" value="true" /> <!-- 配置資原始檔 --> <property name="locations"> <list> <value>classpath:solr.properties</value> </list> </property> <a target=_blank href="http://write.blog.csdn.net/User.java"><span style="color: rgb(0, 0, 255);"></span></a><pre name="code" class="html"><span style="white-space:pre"> </span></bean>
</beans>
第四步:寫測試程式碼
User實體類:
package com.millery.spring_solr.pojo;
/**
*
* @專案名稱:spring-solr
* @類名稱:User
* @類描述:使用者實體類
* @建立人:millery
* @建立時間:2015年11月5日 上午10:42:43
* @version:
*/
public class User {
private Long id;// 使用者編號
private String username;// 使用者名稱
private String loginPwd;// 使用者登入密碼
private String email;// 使用者郵箱
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getLoginPwd() {
return loginPwd;
}
public void setLoginPwd(String loginPwd) {
this.loginPwd = loginPwd;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", loginPwd="
+ loginPwd + ", email=" + email + "]";
}
}
SpringSolr類:
</pre></p><p>SpringSolr<span style="font-family:宋體;">類:</span></p><p><pre name="code" class="html">package com.millery.spring_solr.test;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.millery.spring_solr.pojo.User;
/**
*
* @專案名稱:spring-solr
* @類名稱:SpringSolrTest
* @類描述:測試類
* @建立人:millery
* @建立時間:2015年11月5日 上午10:48:57
* @version:
*/
@Component
public class SpringSolr {
@Autowired
private HttpSolrServer httpSolrServer;
public User getUser(Long id) throws SolrServerException {
//建立查詢條件
SolrQuery query = new SolrQuery();
query.setQuery("id:" + id);
//查詢並返回結果
QueryResponse queryResponse = this.httpSolrServer.query(query);
return (User) queryResponse.getBeans(User.class);
}
}
SpringSolrTest類:
package com.millery.spring_solr.test;
import org.apache.solr.client.solrj.SolrServerException;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.millery.spring_solr.pojo.User;
/**
*
* @專案名稱:spring-solr
* @類名稱:SpringSolrTest
* @類描述:測試類
* @建立人:millery
* @建立時間:2015年11月5日 上午10:56:06
* @version:
*/
public class SpringSolrTest {
private SpringSolr springSolr;
@Before
public void setUp() throws Exception {
// 初始化Spring容器
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"applicationContext.xml", "applicationContext-solr.xml");
//獲取物件
this.springSolr = applicationContext.getBean(SpringSolr.class);
}
@Test
public void test() throws SolrServerException {
// 測試方法,輸出結果
User user = springSolr.getUser((long) 1);
System.out.println(user);
}
}
執行程式碼結果:
org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: http://127.0.0.1:8983/millery
這裡拋異常時因為我本機上沒有安裝solr,無法連線solr,此時說明程式碼已經沒有問題,可以執行查詢操作了。
建工程時存在的小問題:
1、在建立工程時打包方式使用jar和war的選擇可能存在糾結,只想說不用糾結,選哪個都是一樣的。
2、在工程pom.xml配置檔案配置完成後,可能會出現下圖的報錯問題,此時就需要簡單的處理一下就可以了。
問題圖片:
解決方法就是右擊工程-->maven-->update project-->選擇當前的工程-->OK,這樣報錯的紅叉就消失了。
相關推薦
maven專案下solr和spring的整合配置
solr和spring整合其實很簡單,只要注意匯入依賴的配置檔案即可。廢話不多說,上程式碼。 第一步:編寫maven專案的pom檔案,匯入依賴 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=
Hibernate和Spring整合配置
工具:myeclipse2014 Spring版本:3.1 Hibernate版本:3.3 文章介紹了hibernate和spring的配置,並將兩個框架整合起來,自己寫了測試程式碼測試是否整合成功。 配置hibernate和spring: 先配置hibe
maven 專案(五) spring整合springMVC開發統一接入API--實現test介面
為什麼要採用測試介面的方式:貼完程式碼我再來說; 1.貼張圖片 2.是測試介面地址的暴露方式: @Controller public class ApiTestController { @Value("${epeit.api.server}") private St
maven 專案(四) spring整合springMVC開發統一接入API(準備工作:第二部分)
介面虛擬碼流程(為啥是虛擬碼,這裡就是很一般的寫法,給人蔘考吧):/** @Controller:宣告是springMVC的響應元件 @RequestMapping(value = "/apicenter"):定義介面路徑 */ @Controller public class Api
Activiti環境配置、專案搭建、與Spring整合、簡單示例
概念 示例專案下載 環境搭建: FBI WARNING 兩個視訊,螢幕錄影專家錄製,非病毒,本站願意承擔責任,下載完檔案請先核對MD5。 1.Eclipse配置Tomcat和部署WEB應用.exe(MD5:81c1dfb994ff5b2094ce
Maven專案中,關於Spring Boot 整合MyBatis時,Service層無法找到mapper介面的問題解決
mybatis: mapperlocations: classpath:com/xxx/xxx/dao/mapper/*.xml -----掃描對映檔案 config-location: classpath:mybatis-config.xml ------掃描配置檔案注意:路徑要以/ 分割3 M
spring+maven專案新增log4j和slf4j日誌
1 Pom.xml新增依賴包 slf4j-log4j12這個包依賴了slf4j和log4j,所以使用slf4j+log4j的組合只要配置上面這一個依賴就夠了 <dependency> <groupId>org.slf4j</gro
IntelliJ IDEA中的Maven專案下的配置檔案釋出問題
積累,小白也有大神夢 在Idea中,如果建立Maven專案,因為它預設只能將/src/main/resources下的資原始檔釋出到伺服器中,所以我們在/src/main/java中寫的大量配置檔案是無法被髮布的,所以這樣就會出現,配置檔案載入失敗,無
RabbitMQ與spring整合,配置完整的生產者和消費者
RabbitMQ與AMQP協議詳解可以看看這個 http://www.cnblogs.com/frankyou/p/5283539.html 下面是rabbitMQ和spring整合的配置,我配置了二種ExCahange: topicExchange和direc
idea中的spring boot maven專案的依賴和pom.xml檔案不一致的解決辦法
今天用idea建立了一個spring boot專案,包含了spring security,在pom檔案和專案依賴都存在security依賴的情況下,對專案的訪問連結都會跳轉到輸入賬號密碼的驗證登入頁面,程式碼和跳轉如下: 為了驗證security的
RabbitMQ 安裝配置和 Spring 整合
本文從安裝和配置 RabbitMQ 開始,準備好環境後,直接在 Spring 中整合,並且針對 Spring 中的常見用法提供了示例和講解。 安裝 一般開發環境可能用的都是 Windows,生產環境 Linux 用的比較多,這裡針對 Windows 和 Ubuntu 的安裝說明簡
SSH開發環境的配置:web.xml、Spring整合hibernate和Spring整合Struts2
一、struts + hibernate + Spring整合開發包的匯入:從myeclipse整合開發工具中匯入或者從相應網站下載然後放在工程專案WEB-INF包下的lib包內即可。 二、本文主要說明開發包匯入後對配置檔案的配置。 三、相應配置檔案的配置:web.xml、
maven專案的JDK版本的版本配置或者指定JDK版本,最實用的修改settings.xml和pom.xml修改方法,可以解決eplise中的90%因為jdk相容的問題,
公司近期匯入了一個專案,新專案剛剛匯入就有很多錯誤,這也是java專案的一個通病,根本的原因還是java的jvm虛擬機器的問題,還有各種依賴包的問題,有些問題很明顯,有些問題非常不明顯 下面我就把一些應為jdk版本引起的問題記錄下, 錯誤1:Dynamic We
專案重構00 Java maven專案下,整合Scala混合開發
作為補充我找了個Scala專案,但這不是我重構的了,旨在說明問題,沒什麼區別。pom檔案,這個是我的專案的pom,其他依賴可以不用寫。github 專案地址 https://github.com/jxnu-liguobin/SpringBoot-Base-System注意Sc
Maven專案中redis(jedis)的配置和使用
上一篇部落格簡單闡述java遠端連線redis遇到的問題,這一篇部落格詳細闡述遠端連線redis的相關配置。 要想在Java中連線Redis,並進行操作,由兩種方式,一種是spring data redis,它是由spring整合的,不支援叢集,一種是官方推薦
Maven 編譯打包(java+scala)專案 單獨的Java專案 的Pom和assembly的配置
第一個是單獨的java專案的pom檔案的配置 <!-- 配置打包的方式 --> <build> <!--打包前的各種source定義--> <sourceDirectory>src/ma
Maven專案下配置檔案找不到的解決辦法
問題出現 在構件Maven專案時候,我們已經將配置檔案放在包下,但是專案執行出錯,報錯找不到xxx.xml檔案. 先來分析一下普通Maven專案的專案檢視: 在src下有main和test兩個
spring專案與logstash和Elasticsearch整合
原創/朱季謙 最近在做一個將spring框架的專案日誌資料通過logstash傳到Elasticsearch的功能模組,也就是ELK日誌分析系統裡,經過一番搗鼓,終於把這個過程給走通了,根據自己的經驗,做了這篇總結文章,按照以下步驟可以搭建spring與logstash的集合,希望可以給各位玩l
springmvc和json整合配置方法
repl bin blank converter htm spring配置 tpm port 三方 配置方法一 1、導入第三方的jackson包,jackson-mapper-asl-1.9.7.jar和jackson-core-asl-1.9.7.jar。 2、spri
(十七)Hibnernate 和 Spring 整合
blob ns-3 管理 comm wire support Coding jar包 jdbc 一、Hibnernate 和 Spring結合方案: 方案一: 框架各自使用自己的配置文件,Spring中加載Hibernate的配置文件。 方案二: 統一由Spri