Spring学习笔记

1.创建Maven工程,pom.xml文件导入依赖

复制代码
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.20</version>
</dependency>

2.创建一个entity包,在包里面创建一个student类,

复制代码
public class student {
    private String name;
    private Integer age;
    private Integer  id;

}

3.然后生成get和set方法以及tostring方法

复制代码
package org.example.entity;

public class student {
    private String name;
    private Integer age;
    private Integer  id;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }


    @java.lang.Override
    public java.lang.String toString() {
        return "student{" +
                "name=" + name +
                ", age=" + age +
                ", id=" + id +
                '}';
    }
}

4.我们可以通过lombok依赖快速自动生成get和set方法,先在pom.xml文件中引入lombok依赖

复制代码
<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
</dependency>

然后在类前注入@Data注解

会自动生成get和set等方法

如果只需要get方法就引入get注解

只需要set方法就引入setter注解

需要无参构造方法就引入NoArgsConstructor注解

需要有参构造方法就引入AllArgsConstructor注解

5.使用lombok必须提前在idea中安装插件

6.然后创建一个text包,创建一个text类,

复制代码
package org.example.test;
import org.example.entity.student;
import java.lang.*;
public class test {
    public static void main(String[] args) {
        student student = new student();
        System.out.println(student);
    }
}

7.运行后结果如下:

小结.以上方法是传统方式创建对象,手动创建对象,

Ioc方式

接下来我们用Ioc方式自动创建对象,开发者只需要取出对象即可

1.首先我们需要一个配置文件,在resources包里面创建spring.xml文件,在里面加上文件配置头文件,直接复制粘贴即可

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans            
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/context                                                                             
                        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
                       
                        ...<!--中间xml文件部分-->.....
    </beans>

2.IoC容器通过读取spring.xml配置文件,加载bean标签来创建对象

复制代码
 <bean id="student" class="org.example.entity.student"></bean>

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

  <bean id="student" class="org.example.entity.student"></bean>

</beans>

3.调用API获取IoC容器中已经创建的对象

复制代码
public class test {
    public static void main(String[] args) {

        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring.xml");
        student student = (student) applicationContext.getBean("student");
        System.out.println(student);
    }
}
相关推荐
通信小呆呆4 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
码云数智-园园4 天前
C++20 Modules 模块详解
java·开发语言·spring
H__Rick4 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee4 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
咖啡八杯4 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
Flittly4 天前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring
Alsn864 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
李少兄4 天前
从原理到实战:Spring IoC/DI 核心知识体系与高频面试题全解
java·后端·spring
YM52e4 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨4 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙