Spring神一樣存在的框架,幫助Java開發(fā)者巧妙快速的應(yīng)對(duì)公司或企業(yè)的一個(gè)個(gè)變態(tài)的需求.這偏文章不談原理,只論快速配置使用.
筆者所用開發(fā)工具是MyEclipse,使用了強(qiáng)大的Maven管理項(xiàng)目.廢話不多語(yǔ),開始....
** 1.創(chuàng)建項(xiàng)目**
![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.創(chuàng)建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.創(chuàng)建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.創(chuàng)建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.創(chuàng)建控制器**
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 下創(chuàng)建views文件夾,并創(chuàng)建Home.jsp 文件 最終項(xiàng)目結(jié)構(gòu)如下**
Snip20170531_7.png
** 8.將程序部署到Tomcat 訪問http://127.0.0.1:8080/Demo/home
**
Snip20170531_8.png
純Java配置Spring還是比較簡(jiǎn)單的,相對(duì)于傳統(tǒng)的XML配置,我個(gè)人還是比較喜歡這種方式.具體如何看個(gè)人喜好.今天的教程就到此,有疑問的小伙伴可以給我留言,有不對(duì)的地方,希望大神不吝賜教.