Spring环境搭配

概述

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Spring 是一个开源框架,Spring 是于2003 年兴起的一个轻量级的Java 开发框架,由 ++RodJohnson++ 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理念和原型衍生而来。它是 为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使 用者选择使用哪一个组件,同时为 ++J2EE++ 应用程序开发提供集成的框架。Spring 使用基本的 ++JavaBean++ 来完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不仅限于++服务器++ 端的开发。从简单性、 可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 的核心是++控制反转++ (++IoC++ )和面向切面(++AOP++ )。简单来说,Spring 是一个分层的 JavaSE/EEfull-stack( 一站式**)** ++轻量级++ 开源框架。 |

为什么要学习Spring

为什么要学习Spring

spring是一个非常优秀的java框架,其目标是为了简化java企业级开发,spring出来已经十几年了,这期间也一直围绕着这个目标在进行,像后面需要学习的springmvc、springboot、springcloud,这些技术也都是围绕着简化开发的目标在努力,到目前为止已经做的足够好了,可以说spring除了不能帮助我们实现业务逻辑代码之外,其他的事情spring都尽量去帮我们简化了,使用spring可以帮助我们节约大量开发时间。

组成

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式

  • 核心容器 :核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能 , 集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP的对象。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
  • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

那么对Spring已经有了初步的了解了接下来开始实践

lib包

下载地址

http://repo.springsource.org/libs-release-local/org/springframework/spring

配置applicationContext.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:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
 
</beans>

配置log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

log4j.rootLogger=error, stdout

log4j.logger.com.springframework=DEBUG
log4j.logger.com.ibatis=DEBUG  
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG  
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG  
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG  

log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG  
log4j.logger.java.sql.ResultSet=DEBUG

入门第一个Spring

创建一个user

创建user接口以及接口实现类

在applicationContext.xml加入配置

测试

相关推荐
Andy.Zeng3 分钟前
Android APK组成&编译打包流程详解
android·java·jvm·kotlin·编译·虚拟机·apk打包
qq_12498707534 分钟前
Java+Vue+Spring的蛋糕甜品商城(程序+论文+讲解+安装+调试+售后)
java·开发语言·vue·毕业设计
猿毕设14 分钟前
【FL0080】基于SSM和微信小程序的宠物寄养平台
java·spring boot·后端·python·微信小程序·小程序·宠物
web1309332039822 分钟前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
Brookty27 分钟前
【Java学习】内部类
java·学习
猿周LV28 分钟前
网络原理 初识[Java EE]
java·网络·java-ee
m0_6726565441 分钟前
sql专题 之 sql的执行顺序
java·数据库·sql
weixin_5358542243 分钟前
三七互娱,蓝禾,顺丰,oppo,游卡,汤臣倍健,康冠科技,作业帮,高途教育25届春招内推
java·嵌入式硬件·算法·求职招聘·游戏美术
laizhenghua2 小时前
Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)
java·开发语言·pdf
超好的小白4 小时前
【idea】关于idea中新建springboot项目Java版本不能选择11和8的解决办法
java·spring boot·intellij-idea