Spring神一樣存在的框架,幫助Java開發者巧妙快速的應對公司或企業的一個個變態的需求.這偏文章不談原理,只論快速配置使用.
筆者所用開發工具是MyEclipse,使用了強大的Maven管理項目.廢話不多語,開始....
** 1.創建項目**
![Uploading Snip20170531_4_284300.png . . .]
Snip20170531_4.png
Snip20170531_5.png
Snip20170531_6.png
** 2.添加Spring依賴(筆者使用的是4.1.0)**
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.0.RELEASE</version>
</dependency>
** 3.創建Java配置文件WebConfig**
具體注解的使用以及意義,讀者自行查閱文檔.
package demo.config;
import java.io.IOException;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan("demo")
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
// TODO Auto-generated method stub
configurer.enable();
}
@Bean
public MultipartResolver multipartResolver() throws IOException{
return new StandardServletMultipartResolver();
}
}
** 4.創建RootConfig**
package demo.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScan.Filter;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@ComponentScan(basePackages={"demo"},
excludeFilters={
@Filter(type=FilterType.ANNOTATION,value=EnableWebMvc.class)
})
public class RootConfig {
}
** 5.創建DispatcherServlet**
package demo.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class DispatcherServlet extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {RootConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class<?>[] {WebConfig.class};
}
@Override
protected String[] getServletMappings() {
// TODO Auto-generated method stub
return new String[] {"/"};
}
}
** 6.創建控制器**
package demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping(value="/home")
public String home(){
return "Home";
}
}
** 7.在WEB-INF 下創建views文件夾,并創建Home.jsp 文件 最終項目結構如下**
Snip20170531_7.png
** 8.將程序部署到Tomcat 訪問http://127.0.0.1:8080/Demo/home
**
Snip20170531_8.png
純Java配置Spring還是比較簡單的,相對于傳統的XML配置,我個人還是比較喜歡這種方式.具體如何看個人喜好.今天的教程就到此,有疑問的小伙伴可以給我留言,有不對的地方,希望大神不吝賜教.