java Spring框架学习

Posted Rgylin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Spring框架学习相关的知识,希望对你有一定的参考价值。

IoC控制反转

1)分为控制和反转

控制:对象创建,属性赋值,对象声明周期管理

反转:把开发人员管理对象的权限转移给了代码之外的容易实现,由容器完成对象的管理

Spring就是一个容器,可以管理创建对象给对象赋值

2)loc技术实现

DI(依赖注入):只需要使用对象的名称就行,不用管怎么创建的查找的在容器中

Spring 的配置文件

spring 标准配置文件:
bean: bean就是java对象,spring 容器管理的java对象叫做bean 
 id :自定义对象的名称,唯一值
 class:类的名称 spring 通过反射机制创建对象,不能是接口
 spring根据id class 创建对象 把对象放到spring 中的一个map对象

主文件实现

public class RgylinM 
    public static void main(String[] args) 
        //SomeService service = new SomeServiceImpl();
        //service.doSome();
        //使用bean 创建对象
        String config="beans.xml";
        //ApplicationContext 表示 spring 对象
        //通过类加载配置bean文件来实现创建对象 需要进行所需要的转型
        ApplicationContext ctt=new ClassPathXmlApplicationContext(config);
        //从容器中获取指定对象名称
        SomeService temp = (SomeService)ctt.getBean("someService");
        temp.doSome();

    


beans

<!--    id :自定义对象的名称,唯一值
        class:类的名称 spring 通过反射机制创建对象,不能是接口
        spring根据id class 创建对象 把对象放到spring 中的一个map对象
-->
    <bean id="someService" class="org.example.impl.SomeServiceImpl" />

也可以用普通类的创建

bean对象为

<bean id="rgylin_ord" class="org.example.impl.Rgylin_ord"/>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GjtYJmeC-1637732677588)(C:\\Users\\ASUS\\Desktop\\QQ截图20211124133256.png)]

测试spring是什么时候创建对象的

首先写一个无参构造方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HtSBvRqq-1637732677591)(C:\\Users\\ASUS\\Desktop\\QQ截图20211124125250.png)]

然后再text 包中就见一个MyText类去调用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nYSK6xcx-1637732677593)(C:\\Users\\ASUS\\Desktop\\QQ截图20211124125519.png)]

可以看到

对象是在创建spring对象会读取其配置文件,并创建文件声明中的对象(默认执行无参构造方法),所以剩下的我们就可以取就行了速度大大提升

在创建容器对象ApplicationContext会把配置文件中所有的对象都创建出来

获取容器对象的名称

    public void text()
        String config="beans.xml";
        ApplicationContext temp= new ClassPathXmlApplicationContext(config);
        String[] all= temp.getBeanDefinitionNames();
        for(String i:all)
            System.out.println("名字是"+i); //名字是someService
        

    

spring 容器创建非定义类对象

以日期类为例

首先在bean中创建类

<bean id="rgylin_ddata" class="java.util.Date"/>

然后调用

        Date my_data= (Date)temp.getBean("rgylin_ddata");
        System.out.println(my_data);
		//得到结果
        //Wed Nov 24 13:24:46 CST 2021



参考学习链接https://www.bilibili.com/video/BV1hN411X77N

以上是关于java Spring框架学习的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记:Spring框架

spring boot框架学习学前掌握之重要注解-通过java的配置方式进行配置spring

spring boot框架学习学前掌握之重要注解-通过java的配置方式进行配置spring

java框架学习之路——Spring的体系结构

Java框架spring Boot学习笔记:Spring相关概念

java:mybatis-spring框架结合学习