Spring 框架基础(01):核心组件总结,基础环境搭建

本文源码:GitHub·点这里 || GitEE·点这里

一、Spring框架

1、框架简介

Spring是一个开源框架,框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个分层的轻量级开源框架。

2、优点分析

1)、分层架构

一站式,每一个层都提供的解决方案
web层:struts,spring-MVC
service层:spring
dao层:hibernate,mybatis,jdbcTemplate,JPA

2)、轻量级

依赖资源少,销毁的资源少。

3)、高内聚低耦合

Spring就是一个大容器,可以将所有对象创建和依赖关系统一维护,交给Spring管理。

4)、AOP编程的支持

Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。

5)、事务的支持

只需要通过配置就可以完成对事务的管理,而无需手动编程

6)、集成测试

Spring对Junit4支持,可以通过注解方便的测试Spring程序。

7)、降低API的使用难度

Spring 对JavaEE开发中非常难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低

8)、集成各种框架

Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架的集成,如:Struts、Hibernate、MyBatis等。

二、核心组件分析

1、核心容器

容器是Spring框架的核心模式,该模块包含Bean的创建、配置、管理等功能。

2、AOP编程

AOP 编程可以帮助应用程序解耦,使用AOP编程模式,可以把系统中的核心点从对象方法中解耦,统一管理。

3、数据访问

该模块集成了JDBC,解决JDBC开发模式导致的大量代码冗余,集成常用的Dao层框架,hibernate,mybatis等,使开发环境的搭建更加便捷。

4、Web编程

Spring不仅集成各种流程的MVC框架,还自带springmvc强大的框架,有助实现界面逻辑和应用程序分离,在Web层面实现应用的解耦。

三、环境搭建

项目结构图:

1、Spring环境配置

  • spring-context

Spring框架上下文环境容器配置。



    
    
    
    
    
    
        
            classpath:jdbc.properties
        
    



    



    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    



    
    
    
    
    



    
    
    
    
    
    
    
        
            
                
                    
                        dialect=mysql
                    
                
            
        
    



    
    



    



    



    
    





    
  • spring-mvc

Mvc开发环境容器配置。








    
    

2、jdbc参数配置

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring-mvc
jdbc.username=root
jdbc.password=123
jdbc.initialSize=10
jdbc.minIdle=10
jdbc.maxActive=120
jdbc.maxWait=60000
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.minEvictableIdleTimeMillis=300000

3、mybatis配置

mybatis-config.xml文件


    
        
        
    

4、web.xml配置

frame_spring


    encoding
    UTF-8


    contextConfigLocation
    classpath:spring*.xml


    org.springframework.web.context.ContextLoaderListener


    spring-mvc
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        classpath:spring-mvc.xml
    
    1


    spring-mvc
    /



    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
        encoding
        UTF-8
    


    encodingFilter
    /*

5、pom.xml配置


    ${pom.artifactId}
    
        
            src/main/java
            
                **/*.xml
            
        
        
            src/main/resources
            
                **/*
            
        
    
    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.3.2
            
                1.8
                1.8
                UTF-8
            
        
    

四、源代码地址

GitHub·地址
https://github.com/cicadasmile/spring-mvc-parent
GitEE·地址
https://gitee.com/cicadasmile/spring-mvc-parent

你可能感兴趣的:(spring)