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);
    }
}
相关推荐
中屹指纹浏览器6 小时前
2025 技术解析:中屹量子加密级隐私防护技术底层实现与安全逻辑
经验分享·笔记
码界奇点6 小时前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
路在脚下,梦在心里6 小时前
net学习总结
android·学习
梵得儿SHI6 小时前
SpringCloud 核心组件精讲:OpenFeign 实战指南-服务调用优雅实现方案(含自定义拦截器、超时重试、LoadBalance 整合避坑)
spring boot·spring·spring cloud·负载均衡·openfeign的核心应用·微服务调用·熔断组件
deng-c-f6 小时前
Linux C/C++ 学习日记(52):原子操作(1):cpu缓存、可见性、顺序性、内存序、缓存一致性的介绍
学习·原子操作
●VON6 小时前
小V健身助手开发手记(六):KeepService 的设计、实现与架构演进
学习·架构·openharmony·开源鸿蒙·von
走在路上的菜鸟6 小时前
Android学Dart学习笔记第二十节 类-枚举
android·笔记·学习·flutter
YuforiaCode6 小时前
黑马AI大模型神经网络与深度学习课程笔记(个人记录、仅供参考)
人工智能·笔记·深度学习
YJlio6 小时前
ZoomIt 学习笔记(11.9):绘图模式——演示时“手写板”:标注、圈画、临时白板
服务器·笔记·学习
专注于大数据技术栈7 小时前
java学习--String
java·开发语言·学习