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

Весна – Смешивание XML и JavaConfig

– Весеннее смешивание XML и JavaConfig

Примеры Spring, чтобы показать вам, как смешивать Spring XML и JavaConfig вместе.

1. Конфигурация LoadJava Из весеннего XML

Пример Spring MVC использует @Configuration для загрузки всего, и вы хотите интегрироваться с web.xml

package com.mkyong.form.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@EnableWebMvc
@Configuration
@ComponentScan({ "com.mkyong.form.web", "com.mkyong.form.core" })
public class SpringWebConfig extends WebMvcConfigurerAdapter {

	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		registry.addResourceHandler("/resources/**")
                        .addResourceLocations("/resources/");
	}

	@Bean
	public InternalResourceViewResolver viewResolver() {
		InternalResourceViewResolver viewResolver = 
                        new InternalResourceViewResolver();
		viewResolver.setViewClass(JstlView.class);
		viewResolver.setPrefix("/WEB-INF/views/jsp/");
		viewResolver.setSuffix(".jsp");
		return viewResolver;
	}
	
}


	Spring3 MVC Application

	
		spring-web
		
                       org.springframework.web.servlet.DispatcherServlet
                
		1
		
			contextConfigLocation
			/WEB-INF/spring-web-servlet-config.xml
		
	

	
		spring-web
		/
	


В XML-файле Spring просто отсканируйте Java @Конфигурация .



        
	


Сделано.

2. Загрузите Spring XML Из Конфигурации Java

Это проще, просто используйте аннотацию @importresource .

2.1 Загружает spring-web-servlet.xml файл.

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.Import;
 
@Configuration
@Import({ AppConfigOthers.class }) //loads another JavaConfig
@ImportResource("classpath:/config/spring-web-servlet.xml")
public class AppConfigCore {
 	//...
}

2.2 Загружает компонент источника данных из XML-файла.

	
		
		
		
		
	
@Configuration
@Import({ AppConfigOthers.class })
@ImportResource("classpath:/config/database-config.xml")
public class AppConfigCore {
 
	@Autowired
	DataSource dataSource;
 
	@Bean
	public JdbcTemplate getJdbcTemplate() {
		return new JdbcTemplate(dataSource);
	}

2.3 Загружает несколько XML-файлов Spring

@Configuration
@Import({ AppConfigOthers.class })
@ImportResource({
     "classpath:/config/spring-web-servlet.xml", 
     "classpath:/config/database-config.xml"
})
public class AppConfigCore {
 
	@Autowired
	DataSource dataSource;
 
	@Bean
	public JdbcTemplate getJdbcTemplate() {
		return new JdbcTemplate(dataSource);
	}

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

  1. Объединение стилей конфигурации

Оригинал: “https://mkyong.com/spring/spring-mixing-xml-and-javaconfig/”