热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

spring框架的简介和搭建spring的运行环境

六大框架struts1,struts2,hibernate,spring,springMVC,mybatisMVC框架:struts1,struts2,springMVC持久层框

六大框架

struts1,struts2,hibernate,spring,springMVC,mybatis
MVC框架:struts1,struts2,springMVC
持久层框架:hibernate,mybatis
整合型框架/设计型框架:spring

spring的概述

spring是一个开源的框架,为了简化企业级的开发
spring是一个IOC(DI)和AOP容器框架,其中最重要的是IOC
spring的优点:

非侵入式就是你加入了spring技术用来管理对象,而在开发中你可以用spring的API来创建对象,但是你也可以用用来的技术的方式来创建对象
依赖注入就是DI(Dependency Injection,是IOC(反转控制)最经典的实现
面向切面编程Aspect Oriented Programming(AOP),AOP是补充OOP(面向对象编程)的缺陷而产生的
它是个容器就好比如tomcat也是一个容器,能管理servlet的生命周期,spring也是容器,能管理应用对象的生命周期.之前我们需要对象的时候都是要开辟空间来new出来的,都是在一个项目中,不是每一个对象都是从头用到尾的.spring就能帮我们管理对象.
组件化spring中的组件就是spring管理的对象,spring实现使用简单的组件配置组合成一个复杂的应用,使用的是XML和Java注释组合这些对象,不是使用spring,我们是类产生对象,对象调用方法组合成一个项目,对象和方法是关联起来的,对象和对象的耦合度很高,但是spring的每一个组件时独立的,相互的耦合度很低,但是在spring的管理下可以组合成一个项目,所以spring能降低对象的耦合度
一站式spring里面的IOC和AOP的基础之上可以整合各种企业应用的开源框架和优秀的第三方类库,而且spring自身也有表述层的springMVC和持久层的springJDBC

spring模块


在这里插入图片描述
先从最下面开起,spring最重要的是IOC,其实最下面,就是最底层的Beans,corecontext,spEl就是由IOC管理的
然后就到AOP切面编程,Aspects是切面
再到上面的JDBC,就是连接数据库的东西,
ORM是关系映射,就是能自动将数据库的数据转变成类对象,然后我们操作数据库就好像直接操作对象一样简单

搭建spring运行时环境

首先我们肯定是先导入jar包
基础的jar包我们需要五个,其中四个在Spring自身目录下

spring的目录下:spring-framework-4.0.0.RELEASE\libs
spring-beans-4.0.0.RELEASE.jar //就是主要的IOC功能
spring-context-4.0.0.RELE2ASE.jar //上下文
spring-core-4.0.0.RELEASE.jar //核心jar包
spring-expression-4.0.0.RELEASE.jar //表达式
还有一个是包是commons-logging-1.1.1.jar //日志,有些框架就是自动调用日志功能

因为spring可以帮你管理对象,所以在工程里面先创建class类先
注意,在class类里面的属性数据类型最好都是使用引用数据类型, 就比如要使用int的数据类型,改用成Integer数据类型,原因: 比如你在数据库中age是没有赋值的,那么在数据库中应该就是null, 那么你查出来也是null,当你想给int的数据类型赋值的时候,那么是赋值不了的,但是引用数据类型就可以 还有就是对象的属性我们可以不给它赋值,如果属性是基本数据类型,默认是0,如果是引用数据类型,那么默认是null,如果这个属性我们本来想给它赋值0的,那么基本数据类型的默认0和我们要设置0就有冲突,我们不知道是我们设置为0还是默认的0,但是引用数据类型就没有这个冲突

class类创建好后,就想让spring来管理你写得类,想这样就得在spring的配置文件里面配置好,所以现在就创建spring的配置文件,就是XML文件
一般是的是这样的

<?xml version&#61;"1.0" encoding&#61;"UTF-8"?>
<beans xmlns&#61;"http://www.springframework.org/schema/beans"xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"></beans>

如果你是使用eclipse的话,需要手动创建这样的XML文件,很麻烦,但是你可以为eclipse安装一个STS的插件,这样就可以直接创建spring的配置文件.
你可以直接在spring的官网上面下载,应该下载一个spring roo的软件包就行了,也可以点这里的链接spring roo https://projects.spring.io/spring-roo/
又或者下载eclipse的TST项目的插件,找你对应的eclipse的版本,比如这里的最新版
http://download.springsource.com/release/TOOLS/update/3.9.5.RELEASE/e4.8/springsource-tool-suite-3.9.5.RELEASE-e4.8.0-updatesite.zip
对应的版本改一下里面的黑色数字就行
下载后直接在eclipse里面安装就行,因为STS插件比较大,一般安装里面以spring.IDE结尾的就够你平时用了,应该有四个是以spring.IDE结尾了
如果你是使用Spring Tool Suite 4的在新建的菜单里面没有 Spring Bean Configration File也安装上面的补丁插件就行
上面的都搞定后就开始新建spring的配置文件,新建一个source folder,命名为conf,在里面创建
一个spring bean configration file,命名为applicationContxt的XML文件,里面的内容就是上面的了
很方便,然后我们就得在里面写我们要配置的class
然后我们要在applicationContxt里面给spring管理我们建的类,就是在里面创建bean的标签,一个bean代表的是一个类,里面还可以给bean设置里面对象的属性,就是利用子标签来设置的,例如:

<?xml version&#61;"1.0" encoding&#61;"UTF-8"?>
<beans xmlns&#61;"http://www.springframework.org/schema/beans"xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&#61;"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id&#61;"Person" class&#61;"jane.Person"><property name&#61;"id" value&#61;"1"></property><property name&#61;"name" value&#61;"张三"></property></bean></beans>

package jane;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test
{public static void main(String[] args){/** 初始化容器,ApplicationContext是一个接口,我们需要用它的实现类来创建容器* ClassPathXmlApplicationContext里面的参数是配置文件的路径,所以conf里面的* 配置文件名是可以改的,但是在以后的ssm框架里面是自动初始化容器,会自动找* applicationContext.xml文件,所以建议还是写成applicationContext.xml* 在配置文件里面有一个唯一标识的id,这里使用id来得到bean*/ApplicationContext ac&#61;new ClassPathXmlApplicationContext("applicationContext.xml");Person bean &#61; (Person)ac.getBean("Person");System.out.println(bean);}
}


推荐阅读
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 美团安全响应中心推出全新配送业务测试活动,带来双重福利,邀您共同参与! ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
author-avatar
woaimm0705242
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有