Hello Spring

简介: Spring框架是一个集众多设计模式于一身的开源、轻量级的项目管理框架。它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立。

文章目录


55456440671946a896c74a864c317577.png


Spring简介


Spring框架是一个集众多设计模式于一身的开源、轻量级的项目管理框架。它是 Spring 技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立。


Spring Framework


Framework :框架


447041beb09549eaab257565be2cd41b.png



Spring 有两个核心部分: IoC 和 AOP。


IoC IOC Inverse of Control 的简写,译为“控制反转”,指把创建对象过程交给 Spring 进行管理。


AOP Aspect Oriented Programming 的简写,译为“面向切面编程”。


Spring Framework的作用


Spring 框架用来管理[创建|使用|销毁]项目中的组件,由于spring 框架可以帮我们生产项目中组件对象,因此也习惯称spring是一个工厂|容器。


使用Spring框架之前的开发


使用maven快速搭建目录结构


cc81afe3822e4293ac88cac4fc63f891.png


UserDAO接口


在没有使用Spring框架之前,我们都是通过 new 关键字创建对象,调用方法


package com.liu.dao;
public interface UserDAO {
    void save(String name);
}


UserDAO实现类UserDAOImpl


public class UserDAOImpl implements UserDAO {
    @Override
    public void save(String name) {
        System.out.println("userDAO save name = " + name);
    }
}


测试类


public class TestUserDAO {
    public static void main(String[] args) {
        //new关键字,创建组件对象
        UserDAOImpl userDAO = new UserDAOImpl();
        //使用组件对象
        userDAO.save("小张");
        //销毁组件对象,由JVM机销毁
    }
}


输出


userDAO save name = 小张


第一个Spring程序


下面就快速开始搭建spring的环境并写下第一个spring程序,感受一下


1.pom.xml导入spring核心及相关依赖


<dependencies>
     <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>4.11</version>
         <scope>test</scope>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-core</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-beans</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-web</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-expression</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aop</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-context-support</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-aspects</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-jdbc</artifactId>
         <version>4.3.2.RELEASE</version>
     </dependency>
 </dependencies>


2.创建spring核心配置文件,名字随意,不过习惯上叫 applicationContext.xml,位置:本项目的 resources 目录下


3.编写核心配置文件,通过spring 管理组件


41.png


bean: 用来管理组件对象的创建

class: 用来指定管理组件对象的权限定名, 包.类

id: 用来指定spring框架创建的当前组件对象在 spring (工厂/容器) 中唯一标识 全局唯一

推荐:当前接口的首字母小写


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!-- 把UserDAOImpl交给spring容器管理 -->
    <bean id="userDAO" class="com.liu.dao.impl.UserDAOImpl"/>
</beans>


4.启动工厂/ 容器 / spring


public class TestSpring {
    public static void main(String[] args) {
        //启动工厂
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        //获取工厂中创建好的对象,参数:获取工厂中指定对应的唯一标识
        UserDAO userDAO = (UserDAO) context.getBean("userDAO");
        System.out.println(userDAO);
        userDAO.save("Hello Spring");
    }
}


输出


com.liu.dao.impl.UserDAOImpl@12108b5
userDAO save name = Hello Spring




相关文章
|
8月前
|
弹性计算 IDE Java
从零搭建Spring Boot的Hello World
本教程将使用IntelliJ IDEA搭建一个简单SpringBoot项目,在项目中运行一个Hello World请求示例,并部署到阿里云服务器ECS上。
283 0
|
8月前
|
人工智能 JavaScript Java
2. 使用IDEA创建Spring Boot Hello项目并管理依赖——Maven入门指南
2. 使用IDEA创建Spring Boot Hello项目并管理依赖——Maven入门指南
125 0
|
10月前
|
Java Linux API
Spring Native 的 Hello World
Spring Native 的 Hello World
77 0
|
Java 应用服务中间件 Spring
spring学习的第一课:Hello world!
spring学习的第一课:Hello world!
69 0
|
Java Maven 开发者
Spring Boot - Hello World | 学习笔记
快速学习Spring Boot - Hello World
133 0
Spring Boot - Hello World | 学习笔记
|
弹性计算 Java 网络安全
阿里云体验实验室-2:从零搭建Spring Boot的Hello World
阿里云体验实验室-2:从零搭建Spring Boot的Hello World
122 0
|
XML Java 数据库连接
【Spring】(一)Spring入门&Hello Spring
【Spring】(一)Spring入门&Hello Spring
217 1
【Spring】(一)Spring入门&Hello Spring
|
设计模式 IDE Java
1. Spring 简介 + Hello World
Spring 框架简介 在 Java 近20年的历史中,它经历过很好的时代,也经历过饱受诟病的时代。尽管有很多粗糙的地方,如 applet、企业级JavaBean(Enterprise JavaBean,EJB)、Java 数据对象(Java Data Object,JDO)以及无数的日志框架,但是作为一个平台,Java的历史是丰富多彩的,有很多的企业级软件都是基于这个平台构建的。Spring是Java历史中很重要的组成部分。
125 0
|
XML Java 应用服务中间件
Spring Boot之Hello World
Spring Boot之Hello World
157 0
|
XML Java Maven
Spring学习笔记:01 hellospring——spring创建对象的方式
Spring学习笔记:01 hellospring——spring创建对象的方式