博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaWeb——Spring的组成
阅读量:3934 次
发布时间:2019-05-23

本文共 2591 字,大约阅读时间需要 8 分钟。

JavaWeb——Spring

  • Spring 是一个开源框架,使用 Ioc(控制反转)和 AOP(面向切面编程)两种先进技术,极大简化了企业级开发的复杂度。

一、Spring 基础

1、Spring 的组成

  • Spring 框架主要由核心模块、Context模块、AOP模块、DAO模块、O/R映射模块、Web模块和MVC模块组成。
  • 核心模块是 Spring 的核心容器,实现了 IoC 模式、Spring 框架的基础功能,其中 BeanFactory 类是核心类,负责管理和配置 JavaBean;通过 Factory 模式实现 Ioc 容器即依赖注入。
  • Context 模块继承了核心类,同时增加了事件处理、国际化、资源装载、透明装载以及数据校验等功能;提供了框架式的 bean 的访问方式和很多企业级的功能,如定时任务调度。
  • Spring 提供了用标准 Java 语言根据 AOP 联盟的 API 编写的 AOP 框架,集成了所有的 AOP 功能,通过事务管理可以将任意 Spring 管理的对象 AOP 化,使应用程序排开 EJB 的复杂性的同时拥有 EJB 的关键功能。
  • DAO 模块提供了 JDBC 的抽象层,简化数据库厂商的异常错误,提供对声明式事务和编程式事务的支持。
  • 该模块提供了对现有 ORM 框架的支持。
  • 该模块建立在 Context 模块的基础之上,提供了 Servlet 监听器的 Context 和 Web 应用的上下文;对现有的 Web 框架如 JSF、Tapestry、Struts 等提供了集成。
  • 建立在 Spring 核心功能之上,拥有 Spring 框架的所有特性,能够适应多种视图、模板技术、国际化和验证服务,实现控制逻辑和业务逻辑清晰地分离。

2、Spring 简单示例

  • 在 Spring 项目的 src 目录里的适当文件夹(beanset)新建一个 JavaBean,代码如下:
    //IntelliJ IDEA//Sprin01//Student//2019/12/21// Author:御承扬//E-mail:2923616405@qq.compackage com.myCode.beanSet;public class Student {
    private String name; private String age; private String sex; public String getName() {
    return name; } public void setName(String name) {
    this.name = name; } public String getAge() {
    return age; } public void setAge(String age) {
    this.age = age; } public String getSex() {
    return sex; } public void setSex(String sex) {
    this.sex = sex; }}
  • 接着在 src 目录下新建一个 applicationContext.xml 文件,并编辑如下代码:
  • 最后在 src 目录下新建一个 main 目录,并在 main 目录下新建一个 Manager.java,代码如下:
    //IntelliJ IDEA//Sprin01//Manager//2019/12/21// Author:御承扬//E-mail:2923616405@qq.compackage com.myCode.main;import com.myCode.beanSet.Student;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.Resource;public class Manager {
    public static void main(String[] args){
    Resource resource = new ClassPathResource("applicationContext.xml"); BeanFactory factory = new XmlBeanFactory(resource); Student student = (Student) factory.getBean("student"); System.out.println("学生姓名:"+student.getName()); System.out.println("学生年龄:"+student.getAge()); System.out.println("学生性别:"+student.getSex()); }}
  • 运行结果如下:
    1月 11, 2020 4:57:26 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions信息: Loading XML bean definitions from class path resource [applicationContext.xml]学生姓名:御承扬学生年龄:21学生性别:男

转载地址:http://coqgn.baihongyu.com/

你可能感兴趣的文章
预训练语言模型 | (4) AlBert
查看>>
预训练语言模型 | (5) StructBert和RoBerta
查看>>
GNN在文本分类上的应用 | (1) TextGCN
查看>>
GNN在文本分类上的应用 | (2) Text Level Graph Neural Network for Text Classification
查看>>
GNN在文本分类上的应用 | (3) TensorGCN
查看>>
SemEval2019Task3_ERC | (1) Affect Classification in Dialogue using Attentive BiLSTMs
查看>>
SemEval2019Task3_ERC | (2) Attentive Conversation Modeling for Emotion Detection and Classification
查看>>
SemEval2019Task3_ERC | (3) Using Deep Sentiment Analysis Models and Transfer Learning for ERC
查看>>
SemEval2019Task3_ERC | (4) Emotion detection in conversations through Tweets,CNN and LSTM DNN
查看>>
Python杂谈 | (15) 使用Pycharm执行带命令行参数的脚本
查看>>
从源码分析:分析Java中的StringBuilder
查看>>
Linux(Ubuntu18)中启动ssh时的报错
查看>>
Java中的左移时的负数问题
查看>>
从数组形式创建一棵树(用于leetcode测试)
查看>>
线程进阶:多任务处理(17)——Java中的锁(Unsafe基础)
查看>>
Spring/Boot/Cloud系列知识(1)——开篇
查看>>
线程基础:多任务处理(15)——Fork/Join框架(要点2)
查看>>
线程基础:多任务处理(16)——Fork/Join框架(排序算法性能补充)
查看>>
线程基础:多任务处理(14)——Fork/Join框架(要点1)
查看>>
架构设计:系统存储(13)——MySQL横向拆分与业务透明化(1)
查看>>