Maven과 XML 설정이없는 Java 구성에서 Spring 기반 애플리케이션 (Ex app1 및 app2)을 완전히 개발 중입니다. Maven -WAR 플러그인을 통해 app2의 Jar 참조를 만들고 mvn install:install file
을 사용하여 app2 jar를 app1과 바인딩했습니다. app2 - 데이터 소스에서 정보를 가져 오는 데 사용됩니다.Spring의 외부 Jar에서 @service를 autowire하는 방법
app1 구현 클래스에서 app2 serive를 autowired로 사용하여 app2 응용 프로그램에 @Service
으로 주석 된 세부 정보를 가져옵니다.
내 첫 의심의 여지가 있습니다 :
모두 APP1과 APP2이 별도의 AppConfig.java file.Is이 가능 단순히 내가 정의 또는 수입 앱 2의 appconfig가 필요하거나 다른 항아리 형식의 availble이다 @Service
중 하나를 autowiring에 java 파일을 App1의 AppConfig.jave 파일에 저장하십시오.
나는 외부 JAR @Service
클래스를 자동으로 실행하고 오류로 끝냈다.
외부 클래스 Jar의 @Service
을 구현 클래스로 autowire하려면 어떻게해야하는지 잘 도와주세요.
다음은
@Repository
public class VehicleRepository {
@Autowired
VehicleService vehicleservice;
public Map<String, item> getAllTypes(String type) {
Vehicke vehicle = vehicleservice.getAllVehicle(type);
// handle response here...
} catch (Exception ex) {
// handle exception here
} finally {
}
return vehicleDetails;
}
}
VehicleService
외부 항아리에서 사용할 수 있습니다 내 앱 1 저장소 클래스입니다.
VehicleService 클래스 :
@Service
public class VehicleService {
public VehicleService() {
}
@Autowired
PortRepository portRepository;
@Autowired
MessageSource messageSource;
public Vehicle getAllVehicles(String type) {
List<Vehicle> cehicles = portRepository.getPorts();
return vehicle;
}
콩은 구성 클래스에 의해 정의됩니다. Spring이 config 클래스들 중 하나로 초기화되지 않는다면 분명히이 config 클래스에 정의 된 bean은 Spring에 알려지지 않습니다. –
@JBNizet 저장소 클래스의 autowire 서비스 전에 App2의 구성을 호출하는 방법이 있습니까? 또는 App2의 AppConfig 파일을 App2의 AppConfig 파일에 포함/호출하는 방법은 – Ramkumar
입니다. App1의 구성 클래스에서 App2의 구성 클래스를 가져 와서 http://docs.spring.io /spring/docs/current/javadoc-api/org/springframework/context/annotation/Import.html. 그러나 이러한 애플리케이션이 실제로 독립적으로 실행되도록 설계된 애플리케이션이라면 분명히 상충되는 빈을 가질 수 있습니다. App1의 일부로 사용할 때 의미가있는 Bean 만 App2에서로드하려면 별도의 구성 클래스를 작성해야합니다. –