Java EE SSH框架之Spring(1)——Spring介绍

Java EE博客网站开发实战:SSH框架与MySQL整合 博客网站的架构设计通常遵循MVC(Model-View-Controller)模式,可以分为表示层、业务层和持久层。表示层负责与用户直接交互,如展示博客文章、用户评论等;业务层处理博客的具体业务逻辑,例如文章的发布、编辑和管理;持久层主要负责数据的持久化存储,以及与数据库的交互。 阅读详情

一、Spring介绍

1.1、Spring在三层架构中的位置



1.2、Spring一站式框架

    ★ 因为Spring框架性质是属于容器性质的;

    ★ 容器中装有什么对象就有什么功能;

    ★ 不仅不排斥其他框架、还能帮其他框架管理对象

    ★ AOP(面向切面编程)支持;

    ★ IoC(控制反转)思想;

    ★ Spring JDBC;

    ★ AOP事务。


1.3、Spring中的IoC和DI思想

★ IoC 即 Inverse of Control (反转控制)

     将我们创建对象的方式反转了。

    以前对象的创建是由开发人员自己维护,包括依赖关系也是自己注入。使用Spring之后,对象的创建以及依赖关系可以由Spring完成创建以及注入。反转控制就是反转了对象的创建方式,从我们自己创建反转给了程序(Spring)!

★ DI 即 Dependency Injection(依赖注入)  ——下一篇会详细讲解

    实现IoC思想需要DI做支持。

    注入方式():set方法注入(重点)、构造方法注入、p名称空间注入(了解即可)、spel注入(了解即可)

    注入类型:值类型注入(八大基本数据类型)、引用类型注入(将依赖对象注入)


1.4、BeanFactory(已过时) 和 ApplicationContext

    ★BeanFactory是Spring最原始的接口,针对原始接口的实现类功能较为单一,BeanFactory接口实现类的容器特点是每次在获得对象时才会创建对象。

    ★ApplicationContext是后来Spring的接口,提供了更多的功能,每次容器启动时就会创建容器中配置的所有对象。它有两个典型的实现类:①从类路径下加载配置文件:ClassPathXmlApplicationContext  ②从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext。

结论:Web开发中,使用ApplicationContext,在资源匮乏的环境可以使用BeanFactory。



二、搭建Spring开发环境

2.1、导包


下图中红框中Core Container(核心容器)是我们使用Spring最核心的几个包!

分别对应如下四个包:



Spring本身也是支持日志的,其日志系统使用的是目前市场上很成熟的Apache开发的日志包。


下面这个包可选



导入到lib下:

:


2.2、创建一个对象
package com.zl.bean;

public class User {
	private String name;
	private Integer age;
	private String sex;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
}

2.3、书写配置文件,注册对象到容器

位置任意,建议在src下;配置文件名字任意,建议为 applicationContext.xml

导入约束

打开preference  -》  (搜cata就会出现XML)点击XML Catalog   -》 点击旁边的Add  -》  点击File System


按照下面的路径找到beans相应的xsd文件(XML约束),选择一个,这里我选的最后一个。

Key type改为Schema location,在Key后面追加,如下图:



点击OK之后看到Preference对话框如下:


继续OK后,在创建的applicationContext.xml里添加<beans></beans>,再点击下面的Design,看下图

  






判断导入约束成功与否,切换到source,按Alt+/,有如下提示,说明成功了



添加如下代码:



2.4、测试

①创建容器对象

ApplicationContext ac = new ClassPathXmlApplicationContext("application.xml");

②向容器“要”user对象

User u = (User)ac.getBean("user");


三、Spring配置详解

使用import元素可以导入其他Spring配置文件(路径依然是相对于src)


3.1、bean元素

 bean元素:使用该元素描述需要Spring容器管理的对象

   ★  name属性:给被管理的对象起个名字,获得对象时根据该名称获得对象。名称可以重复,可以使用特殊字符。

   ★  class属性:被管理对象的完整类名。

   ★  id属性:和name属性功能相同。但是名称不可重复,不能使用特殊字符(/ *等都不行)。尽量使用name属性。

   ★  scope属性:

        取值①singleton(默认值,):单例对象,被标识为单例的对象在Spring容器中只会存在一个实例。

               ②prototype:多例原型,被标识为多例的对象,每次在获得时才会创建,每次创建都是新的对象。整合Struts2时,必须配置为多例,多个请求需要Spring创建不同的Action对象处理。

               ③request(基本不会用):Web环境下,对象与request生命周期一致。

               ④session(基本不会用):Web环境下,对象与session生命周期一致。

   ★ 声明周期属性:

       init-method: 配置一个方法作为生命周期初始化方法,Spring会在对象创建之后立即调用。

       destroy-method:配置一个方法作为生命周期销毁方法,Spring容器在关闭并销毁所有容器中的对象之前调用。

      

       init、destroy方法写在User.java里面


3.2、Spring创建对象的方式

★空参构造方式

在实体类User中为其添加构造方法:


★静态工厂

自定义一个创建User对象的方法:

package com.zl.factory;

import com.zl.bean.User;

public class UserFactory {
	public static User createUser() {
		System.out.println("静态工厂创建User");
		return new User();
	}		
}

applicationContext.xml里面:

测试:

打印结果:


★动态实例化工厂

自定义一个创建User对象的方法,对比静态工厂:


applicationContext.xml

测试:





JavaEE SSH框架jar包 Spring4.1 + Struts2 2.3+ Hibernate4.3 框架jar包整合!...................................................................................................... 立即下载

相关推荐

SSH框架详解

个人中的SSH详细介绍,包括struts1的工作原理、Struts1优缺点(为什么要用strust1)、struts1的工作原理及基本配置详解、struts2工作原理、struts2运行机制、Struts2的工作流程、Struts2工作原理、Struts1与Struts2的区别、 Hibernate工作原理、Hibernate的核心组件、Persistent Object、Hibernate的运行过程、Hibernate缓存的作用、Hibernate缓存分类、Hibernate优点、 Hibernate缺点、spring原理 、AOP(Aspect-Oriented Programming): 面向方面编程、spring的三种注入方式、Spring框架的7个模块、Spring工作流程、spring的事务管理、

Java EE SSH框架之整合(登录功能)

SSH三大框架整合原理见下图:了解大致原理之后就是导包一、导包(最终,WEB_INF的lib下一共40个jar包)若懒得自己去找直接用我的也可以——》Baidu网盘链接:https://pan.baidu.com/s/1rVESEVjq_eAp8bUDFjrx_Q  密码:bcnlStruts2:①apps下的Struts2-blank所有包,注意,图中选中的javassist包会与hiberna...

zl_StepByStep的博客 2676

Java_EE_SSH三大框架知识点

Java_EE_SSH三大框架知识点,详细讲解了Spring、Struts、Hibernate框架。

SSH笔记之一 Spring简介

一、Spring 1. 什么是Spring:Srping是分层的JavaSE/EE full-stack轻量级开源框架,以IoC(控制反转:Inversion of Control)和AOP(面向切面编程:Aspect Oriented Programming)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。 2. Spring框架的优点:...

qq_43615815的博客 372

USC EE450 CSCI455 CSCI571 Midterm 总结

EE450 Compter Network                1.历年Midterm考题。(更新至2017年spring,如果大家有新的资源欢迎编辑)                 google drive:https://drive.google.com/drive/folders/0B_LCDxpiiXZ1cUNReFpZZHo4NG8?usp=sharing

Small_hour 7112

PSIM仿真实战:反激电源从设计到调试的完整流程(附短路保护配置)

本文详细介绍了使用PSIM仿真工具进行反激电源从设计到调试的完整流程,包括变压器参数设计、功率器件选型、动态特性调试以及短路保护配置。通过实战案例和仿真技巧,帮助工程师提前暴露并解决设计中的常见问题,如负载突变、输入电压波动和短路保护失效等,显著降低硬件试错成本。

weixin_29216353的博客 244

myeclipse中配置spring+Struts+hibernate框架

最近学习有关spring+Struts+hibernate(SSH)框架的内容,SSH框架按照功能划分则是Spring起到业务层作用,Struts起到控制层作用,Hibernate当然用于持久化层作用。SSH框架的整合其实就是spring+Struts的整合。 (本文章仅为本人加强记忆) 以下是以myeclipse为环境搭建spring+Struts+hibernate框架的过程: 首先,建立

mg-xiaojing的博客 737

提升仿真效率:Synopsys VCS高级编译选项优化技巧(2023最新版)

本文深入探讨了Synopsys VCS 2023版本中的高级编译选项优化技巧,帮助工程师提升仿真效率。通过并行编译、智能代码分析、精准覆盖率采样等策略,结合真实案例展示如何显著缩短仿真周期并优化资源使用,适用于数字芯片验证和大型SoC设计。

weixin_30338481的博客 114

到底什么是javaEE、什么是JavaSE,我们用Spring等框架用的jdk到底是什么的思考

jdk是什么   jdk是java的开发工具包,jdk不分javaME, javaSE和javaEE   javaME,javaSE和javaEE是什么   网络上普遍认为javaME就是用来开发嵌入式的,javaSE就是用来开发桌面的,javaEE就是用来开发企业端的。这也许没错,但是为什么我们采用SSH框架和SSM框架的时候使用的是javaEE的技术,为什么下载的是jdk就可以了呢

ak47java的博客 8万+

Android WLAN STA/AP 并发

Android 9 引入了可让设备同时在 STA 和 AP 模式下运行的功能。对于支持双频并发 (DBS) 的设备,此功能让一些新功能得以实现,例如在用户想要启用热点 (softAP) 时不会中断 STA WLAN。

华南烹鱼宴 1248

Fiddler everywhere的一些基础操作

网上能搜到的Fiddler everywhere使用教程太少,于是我整理了一些自己实操成功的内容,包括Fiddler everywhere的Mock测试、弱网测试等基础操作,后续还会持续更新。操作系统:macOS使用工具:Fiddler everywhere 5.10.0本文简单介绍了使用Fiddler everywhere进行的Mock测试和弱网测试,而Fiddler everywhere提供了更多的其他实用的功能,我会在后期进行一个持续的学习和更新。

weixin_44346646的博客 2479

java系列:什么是SSH?什么是SSM?SSH框架和SSM框架的区别

什么是SSH?什么是SSM?SSH框架和SSM框架的区别

weixin_54626591的博客 5243

A*寻路算法的最简单通俗讲解

为什么我的眼里常含泪水?因为我有一个算法不会。为了节约点眼泪,今天我们就来介绍著名的A*寻路算法(或简称A*算法)。 Peter Hart, Nils Nilsson 和 Bertram Raphael 在1968年首次提出了著名的A*算法。A*算法其实是Dijkstra最短路径算法的一种扩展。不一样的是,在A*算法中我们需要使用Heuristics 来导引搜索过程,以期达到更好的表现。 ...

白马负金羁 2万+

Java企业级框架技术-Topic 1 SSH框架

什么是框架?为什么要使用框架?常用的技术框架有哪些? 框架概念 框架技术解决的问题 使用框架技术能够解决以下三方面的问题。 实现常见任务,如数据转换、日志等。软件架构方案。 对特定领域问题的可重用、易扩展的解决方案。 什么是框架     框架(即Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。框架是一个提供了可重用的公共结构的半成品,它

程序媛一枚 3016

Android 人像分割实战:OpenCV+YOLOv8+NCNN 三库联动(附 GPU 加速 / 内存优化全方案)

本文详细介绍了在Android项目中集成OpenCV+YOLOv8+NCNN实现实时人像分割的技术方案。主要内容包括:项目环境搭建(配置NDK、添加Native模块)、核心库文件集成(OpenCV、NCNN、YOLOv8模型)、JNI接口设计与实现(Kotlin层调用C++算法)。通过Camera API获取图像数据,使用YOLOv8进行人体检测,结合NCNN高性能推理框架实现人像分割处理,最终将原始画面与分割结果(背景透明)同时显示在Android界面上。该项目采用多技术栈协同工作,OpenCV负责图像处

FJN110的博客 234

openssl命令数据摘要详解(SM3、sha256、MD5、dss1、mdc2、ripemd160)

SM3是由中国密码学家设计的密码哈希函数,是中国国家密码管理局(National Cryptographic Authority,简称:CNCA)颁布的国家密码算法标准。SM3属于密码杂凑函数家族,它可以计算任意长度的消息并生成固定长度(256比特,即32字节)的哈希值。SM3生成的哈希值长度为256比特(32字节),不管输入消息的长度如何,输出始终是固定的。SM3将输入数据划分为512比特(64字节)的分组,并对每个分组进行处理。

N阶二进制的博客 4460

SSM和SSH框架介绍

SSM和SSH是Java企业级开发中两种经典的三层架构框架组合。SSH由Struts2(表现层)、Spring(核心容器)和Hibernate(持久层)组成,适合早期小型项目但配置复杂、性能较低。SSM由SpringMVC(表现层)、Spring(核心容器)和MyBatis(持久层)组成,配置简单、性能优越,是目前主流框架。核心区别在于SSM采用SpringMVC和MyBatis,比SSH的Struts2和Hibernate更灵活高效。建议优先学习SSM框架,掌握后进一步学习Spring Boot和Spri

weixin_45784564的博客 926

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java框架总结

本系列用来记录常用java框架的基本概念、区别及联系,也记录了在使用过程中,遇到的一些问题的解决方法,方便自己查看,也方便大家查阅。 欲速则不达,欲达则欲速! 一、SSH 1、基本概念 SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成,是当前比较流行的java web开源框架。 集成SSH框架的系统从职责上分为(Struts2--...

学Java,找哪吒 6万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SSH框架总结

传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。但是这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的 Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密...

咕咕怪的博客 5294

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SSH框架总结,超详细

2.1 什么是struts从简单性来看,Struts是这三个框架中最简单的一个,它是基于MVC的框架。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC的一个具体实现或着说是MVC的一个具体产品。2.2 Struts的核心构成Struts的核心同样也是MVC的核心,Struts是MVC的一个具体产品。(1)Model。

weixin_43696483的博客 8699

Java EE | 浅谈SSH三大框架及整合流程

Struts2、Structs2 标签、Hibernate、Spring核心技术、SSH框架整合

ZY-JIMMY 3606

java ssh框架 struts spring hibernate 简介

目录 什么是SSH框架 浅谈Struts 什么是Struts Struts的核心构成 为什么使用Struts 浅谈Hibernate 什么是Hibernate Hibernate的核心构成 浅谈Spring 为什么使用Spring 什么是SSH框架 官方的说法:SSH是 struts+spring+hibernate的一个集成框架,是目前较流行的一种web应用程序开源框架。 SSH不是一个框架,而是把多个框架(Struts、Spring以及Hibernate)紧密的结合在一起.

whatday的专栏 1752

SSH框架简介

什么是SSH? SSH是JavaEE中三种框架(Struts+Spring+Hibernate)的集成框架,是目前比较流行的一种Java Web开源框架。 学习SSH方法 ? JavaEE学习就从最通用的MVC框架Struts开始学习,然后到Hibernate,最后是Spring。 对于Struts来说,Struts1和Struts2区别较大。还是把最原始的东西多看一下,对我们程序员来说可...

Lamitry的博客 3万+

Java--SSH,SSM和Spring Boot框架区别优缺点

一、SSH(Struts + Spring + Hibernate) 1、基本概念 SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成 集成SSH框架的系统从职责上分为(Struts2--控制;spring--解耦;hibernate--操作数据库),以帮助开发人员在短期内搭建结构清晰、可服用好、维护方便的web应用程序。使用Struts作为系统的整体基础框架,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用hibernate框

MinggeQingchun的博客 5367

java框架ssh实验报告_j2ee“ssh框架”实验报告.doc

j2ee“ssh框架”实验报告.doc 1软件学院综合性实验报告专业JAVA年级/班级2011计算机1班20122013学年第二学期课程名称JAVAEE程序设计指导教师姓名学号实验地点实验时间6月1、8、15日上午34节项目名称SSH框架集成应用实验类型综合性一、实验目的1SSH为STRUTSSPRINGHIBERNATE的一个集成框架,是目前较流行的一种WEB应用程序开源框架。因此希望通过本次实...

weixin_35316354的博客 417
上一篇: Java EE SSH框架之hibernate(4)—— 查询优化
下一篇: Java EE SSH框架之Spring(2)——Spring注入依赖的两种形式
zl_StepByStep
博客等级 码龄10年 154粉丝 113原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值