基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请作如下操作:
<1.使用xml风格测试时,需要先将/src/main/java/web/config下的全部类移动到项目外,并开启web.xml中的相关配置>
<2.使用Bean风格测试时,需要保证/src/main/java/web/config下的全部类都存在,并关闭web.xml中的相关配置>
4.项目特征如下:
1)项目基于SpringMVC4
2)安全控制使用SpringSecurity3.2
3)Hibernate4 + 注解式事务管理
4)基于ASpect的注解式AOP
5)基于EHCache的注解式缓存
6)JSON及XML例子,@RestController及@Controller使用对比
7)单元测试基于MockMvc
8)配置了较完整的组件,贴近实际应用
5.运行环境:tomcat8.0.9 jdk1.7
这里对SpringMVC零配置做一个简单的说明
spring4中提供了大量的注解来支持零配置,简要说明如下:
@Configuration : 类似于spring配置文件,负责注册bean,对应的提供了@Bean注解。需要org.springframework.web.context.support.AnnotationConfigWebApplicationContext注册到容器中。
@ComponentScan : 注解类查找规则定义 <context:component-scan/>
@EnableAspectJAutoProxy : 激活Aspect自动代理 <aop:aspectj-autoproxy/>
@Import @ImportResource: 关联其它spring配置 <import resource="" />
@EnableCaching :启用缓存注解 <cache:annotation-driven/>
@EnableTransactionManagement : 启用注解式事务管理 <tx:annotation-driven />
@EnableWebMvcSecurity : 启用springSecurity安全验证
Servlet3.0规范,支持将web.xml相关配置也硬编码到代码中[servlet,filter,listener,等等],并由javax.servlet.ServletContainerInitializer的实现类负责在容器启动时进行加载,
spring提供了一个实现类org.springframework.web.SpringServletContainerInitializer,
该类会调用所有org.springframework.web.WebApplicationInitializer的实现类的onStartup(ServletContext servletContext)方法,将相关的组件注册到服务器;
spring同时提供了一些WebApplicationInitializer的实现类供我们继承,以简化相关的配置,比如:
org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer : 注册spring DispatcherServlet
org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer : 注册springSecurity
同时,spring也提供了一些@Configuration的支持类供我们继承,以简化相关@Configuration的配置,比如:
org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport : 封装了springmvc相关组件,我们可以通过注册新的@Bean和@Override相关方法,以实现对各个组件的注册;
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter : 封装类springsecurity相关组件
相关推荐
一、SpringMVC的零配置介绍 传统的SpringMVC配置方式需要在web.xml中声明DispatcherServlet,并配置相关的servlet-mapping。而在零配置中,这些工作都交给了Spring Boot的自动配置机制。Spring Boot能够自动识别并...
【零配置SpringMVC4+Hibernate4】是一个集成框架,旨在简化Java开发中的Web应用程序构建过程,特别是通过消除大量的配置工作。在这个项目中,我们看到它与Tomcat服务器、MyEclipse IDE以及MySQL数据库结合使用,提供...
本项目"springMVC零配置,无web.xml,无spring配置"就是基于这样的理念,完全采用Java配置实现Spring MVC的应用。 在纯Java配置的Spring MVC项目中,核心的配置类通常会继承自`WebMvcConfigurerAdapter`或`...
本篇文章将深入探讨如何在SpringMVC框架下实现PageOffice的"零配置",让开发者可以更高效地集成和使用PageOffice。 首先,"零配置"意味着在不修改SpringMVC的默认配置情况下,即可实现PageOffice的无缝对接。这通常...
在“spring+springmvc+jpa零配置注解开发”项目中,我们将深入探讨如何利用注解驱动的配置,避免XML配置,实现更简洁、高效的开发流程。 首先,让我们关注“零配置”这个概念。在传统的Spring应用中,开发者需要在...
在这个"springMVC零xml小例子"中,我们将深入探讨如何在不使用XML配置的情况下搭建一个简单的SpringMVC应用。XML配置曾是Spring框架的标准配置方式,但随着Spring的发展,现在更推荐使用Java配置或注解驱动的方式来...
标题 "自己构建微服务(springmvc+内嵌jetty+maven 环境配置)" 提供了关于如何在Java环境中创建微服务的信息。这通常涉及使用Spring MVC作为控制器层,内嵌Jetty作为Web服务器,以及Maven作为项目管理工具。下面将...
压缩包中的"SpringMVC4.3_Spring4_Hibernate5.1.3配置文件"应该包含了所有必要的配置文件,如Spring的bean定义XML文件、Hibernate的配置文件、Web应用的部署描述符(web.xml)等,以及可能的示例代码和测试用例。...
这个"Spring+Spring MVC+MyBatis之零配置之路源代码"项目旨在展示如何在不使用XML配置的情况下,通过Java配置和注解驱动的方式来搭建一个完整的SSM(Spring、Spring MVC、MyBatis)应用。 Spring框架作为基础,提供...
本项目采用全注解的方式,实现了零配置的工程搭建,极大地简化了开发过程,提高了开发效率。以下是这些技术及其应用的详细知识点: 1. **Spring框架**:Spring是一个开源的Java平台,它为构建企业级应用提供了全面...
在"SpringMVC入门项目搭建JavaConfig配置方式(零XML)"中,我们将学习如何创建一个完全不依赖XML的Spring MVC项目。首先,我们需要引入Spring MVC和Spring核心库的相关依赖,通常这些依赖会在构建工具(如Maven或...
在本文中,我们将深入探讨如何使用Spring MVC 4框架实现基于Servlet 3.0规范的零XML配置。Spring MVC 4引入了大量的注解,使得我们可以完全摆脱传统的XML配置文件,转而采用更加简洁、直观的编程式配置。下面将详细...
- 配置SpringMVC的配置文件(如:spring-mvc.xml),包括HandlerMapping、HandlerAdapter、ViewResolver等组件的配置。 4. **注解驱动开发** - 使用`@Controller`、`@RequestMapping`、`@RequestParam`等注解简化...
- **注解驱动**:SpringMVC支持使用@Controller、@RequestMapping等注解实现零XML配置,简化开发。 - **异常处理**:通过@ControllerAdvice和@ExceptionHandler,可以全局处理异常情况。 - **数据绑定**:自动将...
手写SpringMVC意味着从零开始创建一个类似SpringMVC的框架,这个过程涵盖了核心组件的设计和实现,如DispatcherServlet、HandlerMapping、HandlerAdapter、ViewResolver等。通过这个实践,开发者可以深入学习...
这种组合几乎零配置,意味着开发者可以快速搭建起项目框架,更专注于业务实现,而不是环境配置。 在实际开发中,通常会使用Maven或Gradle这样的构建工具来管理和依赖,使得项目的构建和部署更加自动化。同时,结合...
- SpringMVC 支持使用注解进行配置,如 `@Controller`、`@RequestMapping`、`@Service`、`@Autowired` 等,大大减少了 XML 配置。 8. **数据绑定与验证** - 数据绑定允许将请求参数自动绑定到控制器方法的参数上...
本教程将详细讲解以上内容,帮助你从零开始掌握Spring MVC,逐步成长为Java Web开发的高手。无论你是初学者还是有一定经验的开发者,都可以从中获得宝贵的知识和实践经验。通过阅读“精通Spring+MVC+4.pdf”,你将...