Рубрики
Без рубрики

Пример MVC и XML весны 3

– Пример MVC и XML весны 3

Весной 3 одной из функций ” mvc: управляемый аннотациями ” является поддержка преобразования объекта в/из XML-файла, если JAXB находится в пути к классу проекта.

В этом уроке мы покажем вам, как преобразовать возвращаемый объект в формат XML и вернуть его пользователю с помощью Spring @MVC framework.

Используемые технологии:

  1. Пружина 3.0.5.ВЫПУСК
  2. JDK 1.6
  3. Затмение 3.6
  4. Мавен 3

1. Зависимости проекта

Никаких дополнительных зависимостей, вам нужно включить Spring MVC в свой Maven pom.xml только.

	
		3.0.5.RELEASE
	

	

		
		
			org.springframework
			spring-core
			${spring.version}
		

		
			org.springframework
			spring-web
			${spring.version}
		

		
			org.springframework
			spring-webmvc
			${spring.version}
		

	

2. Модель + JAXB

Простая модель POJO и снабженная аннотацией JAXB , позже преобразует этот объект в вывод XML.

package com.mkyong.common.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "coffee")
public class Coffee {

	String name;
	int quanlity;

	public String getName() {
		return name;
	}

	@XmlElement
	public void setName(String name) {
		this.name = name;
	}

	public int getQuanlity() {
		return quanlity;
	}

	@XmlElement
	public void setQuanlity(int quanlity) {
		this.quanlity = quanlity;
	}

	public Coffee(String name, int quanlity) {
		this.name = name;
		this.quanlity = quanlity;
	}

	public Coffee() {
	}
	
}

3. Контроллер

Добавьте ” @ResponseBody ” в возвращаемое значение метода, без особых подробностей в документации Spring .

Как я знаю, когда весна увидит

  1. Объект с аннотацией JAXB
  2. Библиотека JAXB существовала в пути к классам
  3. “mvc: управляемый аннотациями” включен
  4. Метод возврата с аннотацией @ResponseBody

Он будет обрабатывать преобразование автоматически.

package com.mkyong.common.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mkyong.common.model.Coffee;

@Controller
@RequestMapping("/coffee")
public class XMLController {

	@RequestMapping(value="{name}", method = RequestMethod.GET)
	public @ResponseBody Coffee getCoffeeInXML(@PathVariable String name) {

		Coffee coffee = new Coffee(name, 100);
		
		return coffee;

	}
	
}

4. mvc: управляемый аннотациями

В одном из ваших XML-файлов конфигурации Spring включите ” mvc: управляемый аннотациями “.



	

	



	
	
	
		
		  
			
				
					com.mkyong.common.model.Coffee
				
			
		  
		
	

5. Демонстрация

URL: http://localhost:8080/SpringMVC/rest/coffee/arabica

Скачать Исходный Код

Рекомендации

  1. Пример Spring MVC и Rss
  2. mvc-JavaDoc, управляемый аннотациями
  3. jaxb2маршаллер javadoc
  4. ResponseBody.html Явадок

Оригинал: “https://mkyong.com/spring-mvc/spring-3-mvc-and-xml-example/”