首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

无配置文件 筹建

2012-09-12 
无配置文件 搭建今天搞了个spring3.1+servlet3 无配置项目,事到此时终于算出了一个小东东了记录于此,已被

无配置文件 搭建

今天搞了个spring3.1+servlet3 无配置项目,事到此时终于算出了一个小东东了无配置文件 筹建

记录于此,已被后用。

1.创建项目,使用eclipse+tomcat7

2.导入spring的包,除此之外还导入了asm-2.2.2.jar、cglib-nodep-2.1_3.jar(这个别导入hibernate的了)、jstl-1.0.2.jar、jackson-all-1.9.1.jar、commons-logging-1.1.1.jar、mysql-connector-java-5.1.12-bin.jar

3.删除了web.xml,准备二个文件:

? ?jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/db_smg?useUnicode=true&charaterEncoding=UTF-8jdbc.username=rootjdbc.password=****

??properties-config.xml

? ??<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"  xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd      http://www.springframework.org/schema/context      http://www.springframework.org/schema/context/spring-context-3.0.xsd      http://www.springframework.org/schema/mvc      http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">  <context:property-placeholder location="classpath:/com/acme/jdbc.properties"/>  <mvc:resources mapping="/static/**" location="/static/"/>  </beans>

?4.编写启动容器加载的java文件和java 程序代替的配置

Initializer.java

package com.acme.web;

import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRegistration;import org.springframework.web.WebApplicationInitializer;import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;import org.springframework.web.servlet.DispatcherServlet;public class Initializer implements WebApplicationInitializer {public void onStartup(ServletContext servletContext) throws ServletException {// TODO Auto-generated method stubAnnotationConfigWebApplicationContext mvcContext = new AnnotationConfigWebApplicationContext();mvcContext.register(MvcConfig.class);  ServletRegistration.Dynamic dispatcher = servletContext.addServlet(    "dispatcher", new DispatcherServlet(mvcContext));  dispatcher.setLoadOnStartup(1);  dispatcher.addMapping("/");}}

?MvcConfig.java

package com.acme.web;

import java.lang.reflect.Method;import java.util.List;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Import;import org.springframework.format.FormatterRegistry;import org.springframework.http.converter.ByteArrayHttpMessageConverter;import org.springframework.http.converter.FormHttpMessageConverter;import org.springframework.http.converter.HttpMessageConverter;import org.springframework.http.converter.StringHttpMessageConverter;import org.springframework.http.converter.json.MappingJacksonHttpMessageConverter;import org.springframework.http.converter.xml.SourceHttpMessageConverter;import org.springframework.ui.ExtendedModelMap;import org.springframework.validation.Validator;import org.springframework.web.context.request.NativeWebRequest;import org.springframework.web.method.support.HandlerMethodArgumentResolver;import org.springframework.web.method.support.HandlerMethodReturnValueHandler;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;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.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import org.springframework.web.servlet.mvc.annotation.ModelAndViewResolver;import org.springframework.web.servlet.view.InternalResourceViewResolver;import org.springframework.web.servlet.view.JstlView;import com.acme.DBConfig;@Configuration@EnableWebMvc@ComponentScan(basePackages = "com.spring.my")@Import(DBConfig.class)public class MvcConfig  extends WebMvcConfigurerAdapter{@Bean public ViewResolver contentNegotiatingViewResolver() {  InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();  internalResourceViewResolver.setPrefix("/views/");  internalResourceViewResolver.setSuffix(".jsp");  internalResourceViewResolver.setViewClass(JstlView.class);  return internalResourceViewResolver; }@Beanpublic ModelAndViewResolver modelAndViewResolver(){return new ModelAndViewResolver() {@Overridepublic ModelAndView resolveModelAndView(Method arg0, Class arg1,Object arg2, ExtendedModelMap arg3, NativeWebRequest arg4) {// TODO Auto-generated method stubreturn UNRESOLVED;}};}@Overridepublic void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {// TODO Auto-generated method stubsuper.addArgumentResolvers(argumentResolvers);}@Overridepublic void addFormatters(FormatterRegistry registry) {// TODO Auto-generated method stubsuper.addFormatters(registry);}@Overridepublic void addInterceptors(InterceptorRegistry registry) {// TODO Auto-generated method stubsuper.addInterceptors(registry);}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {// TODO Auto-generated method stub//registry.addResourceHandler("");super.addResourceHandlers(registry);}@Overridepublic void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers) {// TODO Auto-generated method stubsuper.addReturnValueHandlers(returnValueHandlers);}@Overridepublic void addViewControllers(ViewControllerRegistry registry) {// TODO Auto-generated method stubsuper.addViewControllers(registry);}@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {// TODO Auto-generated method stub//configurer.enable();super.configureDefaultServletHandling(configurer);}@Overridepublic void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers) {// TODO Auto-generated method stubsuper.configureHandlerExceptionResolvers(exceptionResolvers);}@SuppressWarnings("rawtypes")@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// TODO Auto-generated method stubconverters.add(new MappingJacksonHttpMessageConverter());converters.add(new SourceHttpMessageConverter());converters.add(new FormHttpMessageConverter());converters.add(new StringHttpMessageConverter());converters.add(new ByteArrayHttpMessageConverter());super.configureMessageConverters(converters);}@Overridepublic Validator getValidator() {// TODO Auto-generated method stubValidator v= super.getValidator();return v;}}

?DBConfig.java

package com.acme;

import javax.sql.DataSource;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.ImportResource;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DriverManagerDataSource;@Configuration@ImportResource("classpath:/com/acme/properties-config.xml")public class DBConfig {private @Value("${jdbc.driver}")String driver;private @Value("${jdbc.url}")String url;private @Value("${jdbc.username}")String username;private @Value("${jdbc.password}")String password;public @BeanDataSource dataSource() {System.out.println("OK-------------------------");DriverManagerDataSource dataSource=new DriverManagerDataSource(url, username, password);dataSource.setDriverClassName(driver);return dataSource;}public @BeanJdbcTemplate jdbcTemplate(){return new JdbcTemplate(dataSource());}}

?5.创建好各个目录(根据配置程序和仅有的一个xml)

6. 编写测试程序,启动项目测试(附件含有)

热点排行