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);
    }
}
相关推荐
张小洛5 分钟前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
寻丶幽风10 分钟前
论文阅读笔记——NoPoSplat
论文阅读·笔记·三维重建·3dgs·相机位姿·dustr
非ban必选2 小时前
spring-ai-alibaba官方 Playground 示例
java·人工智能·spring
听风ツ2 小时前
固高运动控制
学习
要开心吖ZSH2 小时前
《Spring 中上下文传递的那些事儿》Part 2:Web 请求上下文 —— RequestContextHolder 与异步处理
java·spring
西岭千秋雪_2 小时前
Redis缓存架构实战
java·redis·笔记·学习·缓存·架构
XvnNing2 小时前
【Verilog硬件语言学习笔记4】FPGA串口通信
笔记·学习·fpga开发
海棠蚀omo3 小时前
C++笔记-位图和布隆过滤器
开发语言·c++·笔记
大胡子大叔3 小时前
webrtc-streamer视频流播放(rstp协议h264笔记)
笔记·webrtc·rtsp·webrtc-streamer
牛奶咖啡133 小时前
学习设计模式《十六》——策略模式
学习·设计模式·策略模式·认识策略模式·策略模式的优缺点·何时选用策略模式·策略模式的使用示例