热门标签 | 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);}
}


推荐阅读
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  • Struts2+Sring+Hibernate简单配置
    2019独角兽企业重金招聘Python工程师标准Struts2SpringHibernate搭建全解!Struts2SpringHibernate是J2EE的最 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • SpringMVC工作流程概述
    SpringMVC工作流程概述 ... [详细]
  • 使用Spring AOP实现切面编程的步骤和注意事项
    本文介绍了使用Spring AOP实现切面编程的步骤和注意事项。首先解释了@EnableAspectJAutoProxy、@Aspect、@Pointcut等注解的作用,并介绍了实现AOP功能的方法。然后详细介绍了创建切面、编写测试代码的过程,并展示了测试结果。接着讲解了关于环绕通知的使用方法,并修改了FirstTangent类以添加环绕通知方法。最后介绍了利用AOP拦截注解的方法,只需修改全局切入点即可实现。使用Spring AOP进行切面编程可以方便地实现对代码的增强和拦截。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
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社区 版权所有