Spring(一):Spring概念、基本例子入门

2024-09-05 08:48

本文主要是介绍Spring(一):Spring概念、基本例子入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

spring学习地址:http://edu.51cto.com/lesson/id-36998.html


一、什么是Spring

Spring是分层的JavaSE/EE full-stack(一站式)轻量级开源框架

分层:

         * SUN提供的EE的三层结构:web层、业务层、数据访问层(持久层,集成层)

         * Struts2是web层基于MVC设计模式框架.

         * Hibernate是持久的一个ORM的框架.

一站式:

        Spring框架有对三层的每层解决方案:

                      * web层:Spring MVC.

                      * 业务层:Spring的Bean管理.

                      * 持久层:JDBC Template 


二、Spring核心概念    

IOC(Inverse of Control 反转控制):将对象的创建权,交由Spring完成.

AOP (Aspect Oriented Programming面向切面编程) :是面向对象的功能延伸.不是替换面向对象,是用来解决OO中一些问题.


三、Spring优势

方便解耦,简化开发

            * Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理

AOP编程的支持

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

声明式事务的支持

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

方便程序的测试

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

方便集成各种优秀框架

            * Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

降低JavaEEAPI的使用难度

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


四、基本例子入门


步骤:

1、导入Spring开发包和依赖包

spring-framework-3.2.0.RELEASE-dist.zip                ---Spring开发包

           * docs       :spring框架api和规范

           * libs       :spring开发的jar包

           * schema     :XML的约束文档.

spring-framework-3.0.2.RELEASE-dependencies.zip        ---Spring开发中的依赖包

创建web工程导入需要的包:

spring-beans-3.2.0.RELEASE.jar

spring-context-3.2.0.RELEASE.jar

spring-core-3.2.0.RELEASE.jar

spring-expression-3.2.0.RELEASE.jar

开发的日志记录的包(在依赖包之中):

com.springsource.org.apache.commons.logging-1.1.1.jar      --- 用于整合其他的日志的包(类似Hibernate中slf4j)

com.springsource.org.apache.log4j-1.2.15.jar

2、创建spring的配置文件

配置Spring核心配置文件,将HelloService的创建交给容器处理



3、通过Spring容器获取HelloService对象


ApplicationContext 应用上下文,加载Spring 框架配置文件
加载classpath:
     new ClassPathXmlApplicationContext("applicationContext.xml");
加载磁盘路径:
     new FileSystemXmlApplicationContext("applicationContext.xml");


这篇关于Spring(一):Spring概念、基本例子入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138486

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java中如何正确的停掉线程

《Java中如何正确的停掉线程》Java通过interrupt()通知线程停止而非强制,确保线程自主处理中断,避免数据损坏,线程池的shutdown()等待任务完成,shutdownNow()强制中断... 目录为什么不强制停止为什么 Java 不提供强制停止线程的能力呢?如何用interrupt停止线程s

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python ORM神器之SQLAlchemy基本使用完全指南

《PythonORM神器之SQLAlchemy基本使用完全指南》SQLAlchemy是Python主流ORM框架,通过对象化方式简化数据库操作,支持多数据库,提供引擎、会话、模型等核心组件,实现事务... 目录一、什么是SQLAlchemy?二、安装SQLAlchemy三、核心概念1. Engine(引擎)

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示