【Java Spring】入门程序

【Java Spring】入门程序,第1张

【Java Spring】入门程序

java spring简介(原文链接:http://c.biancheng.net/spring/what-is-spring.html):

Spring 自诞生以来一直备受青睐,它包括许多框架,例如 Spring framework、SpringMVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,所以有人将它们亲切的称之为:Spring 全家桶。

Spring framework 就是我们平时说的 Spring 框架,本套教程我们将 Spring framework 简称为 Spring 框架。Spring 框架是全家桶内其它框架的基础和核心。

Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。

Spring 由 Rod Johnson 创立,2004 年发布了 Spring 框架的第一版,其目的是用于简化企业级应用程序开发的难度和周期。

Spring 是分层的 Java SE/EE 一站式轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核。

IoC 指的是将对象的创建权交给 Spring 去创建。使用 Spring 之前,对象的创建都是由我们使用 new 创建,而使用 Spring 之后,对象的创建都交给了 Spring 框架。AOP 用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP 还解决一些系统层面上的问题,比如日志、事务、权限等。

在 Spring 中,认为一切 Java 类都是资源,而资源都是类的实例对象(Bean),容纳并管理这些 Bean 的是 Spring 所提供的 IoC 容器,所以 Spring 是一种基于 Bean 的编程,它深刻地改变着 Java 开发世界,使用基本的 JavaBean 来完成以前只有 EJB 才能完成的工作,使得很多复杂的代码变得优雅和简洁,避免了 EJB 臃肿、低效的开发模式,极大的方便项目的后期维护、升级和扩展。迅速地取代 EJB 成为了实际的开发标准。

在实际开发中,服务器端通常采用三层体系架构,分别为表现层(web)、业务逻辑层(service)、持久层(dao)。

Spring 致力于 Java EE 应用各层的解决方案,对每一层都提供了技术支持。在表现层提供了与 Spring MVC、Struts2 框架的整合,在业务逻辑层可以管理事务和记录日志等,在持久层可以整合 MyBatis、Hibernate 和 JdbcTemplate 等技术。这就充分体现出 Spring 是一个全面的解决方案,对于已经有较好解决方案的领域,Spring 绝不做重复的事情。

从某个程度上来看,Spring 框架充当了黏合剂和润滑剂的角色,能够将相应的 Java Web 系统柔顺地整合起来,并让它们更易使用。同时其本身还提供了声明式事务等企业级开发不可或缺的功能。

从设计上看,Spring 框架给予了 Java 程序员更高的自由度,对业界的常见问题也提供了良好的解决方案,因此,在开源社区受到了广泛的欢迎,并且被大部分公司作为 Java 项目开发的首选框架。

Spring 作为实现 Java EE 的一个全方位应用程序框架,为开发企业级应用提供了一个健壮、高效的解决方案。它不仅可以应用于服务器端开发,也可应用于任何 Java 应用的开发。

Spring 框架具有以下几个特点。
1)方便解耦,简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
2)方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts2、Hibernate、MyBatis 等)的直接支持。
3)降低 Java EE API 的使用难度
Spring 对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装,使这些 API 应用的难度大大降低。
4)方便程序的测试
Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
5)AOP 编程的支持
Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
6)声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无须手动编程。

对于初学者来说,简介的话看看就好,有些概念随着后面的学习自然会理解的。

接下来我们实现第一个spring程序(环境搭建本章不做介绍)

首先我们先新建一个Student类,定义名字年龄属性,并且重写toString():

public class Student
{
    public String name="?";
    public int age=-1;

    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;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + ''' +
                ", age=" + age +
                '}';
    }

    public void printInfo()
    {
        System.out.println(toString());
    }
}

printInfo()方法则是输出这个学生对象的信息,方便我们测试。

之后我们在src/resources目录下新建一个xml文件,文件名任意,我的的话就取名为beans.xml
在这个beans里面我们就可以定义我们的bean了:



    
        
        
    

下面解释下含义:


表示xml的版本以及xml的编码,我们保持默认就可以了


表示xml文件里的语法规则,因为我们写的是spring程序,所以就引用spring的语法规则


    
    

这里就是我们最核心的东西,我为刚刚定义的Student创建了一个bean。这里的id是bean的唯一识别符,所以不可以重复。class属性需要填写一个全限定类名,这里我们填上刚刚创建的Student类所在的位置。
property标签为我们的bean提供初始化参数,其中name表示变量名,value表示变量的值。
这样之后我们就可以创建一个测试类来测试bean能否获取。

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main
{
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        Student stu_yqs=(Student) context.getBean("student_yqs");
        stu_yqs.printInfo();
    }
}

首先我们需要利用刚刚的xml创建一个bean工厂
之后我们就可以利用工厂传入id值来获取我们要的对象
获取好对象后我们调用对象的printInfo方法来看看是否正确

输出:

Student{name='yqs', age=18}

这样子一个入门程序就完成了。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5672172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存