为了账号安全,请及时绑定邮箱和手机立即绑定

Spring框架小白的蜕变

难度初级
时长 3小时50分
学习人数
综合评分9.77
78人评价 查看评价
9.7 内容实用
9.8 简洁易懂
9.8 逻辑清晰
  • 1、实现接口

    2、自定义方法,然后用注解标识

    https://img1.sycdn.imooc.com//62eb974b0001599f06600267.jpg

    3、configBean中@Bean相应的bean。然后@Bean注解的属性中 init-method和destroy-method属性

    https://img1.sycdn.imooc.com//62eb982200013adf05190082.jpg

    查看全部
  • 1、构造方法 或  set方法上@Autowired注解

    2、属性上直接@AutoWired注解

    3、List/Map注入 ,两种方式

        ConfigBean中定义返回LIst/Map的方法,方法注解@Bean,方法中赋值

        ConfigBean中定义多个返回list/Map的泛型对应类型的方法,@Bean注解,方法中对元素赋值

    http://img1.sycdn.imooc.com//62eb8ecc000154e504440318.jpg4


    4、简单类型

        @Value(值)

    查看全部
  • 没有父类,配置中删掉class属性

    查看全部
    0 采集 收起 来源:Bean属性继承

    2022-08-04

  • 两种方式:

    1、Bean类中定义方法,bean标签中 init-method 和 destroy-method配置相应方法名

    2、Bean类实现InitializingBean, DisposableBean接口,配置文件中则正常配置bean即可

    查看全部
  • 默认是false,设成懒加载,则在getBean的时候,实例化bean


    beans标签里设置  default-lazy-init设置,给所有bean设置懒加载

    http://img1.sycdn.imooc.com//62ea39090001d0c707760414.jpg

    查看全部
    0 采集 收起 来源:Bean的懒加载

    2022-08-03

  • 1

    查看全部
    0 采集 收起 来源:web相关作用域

    2022-08-01

  • bean1单例,Bean2多例的时候

    如果想要注入的bean2是不同bean2时,可以用

        类中定义abstract抽象方法,protect abstract Bean2 createBean2();

        配置文件种 原来property标签注入的,改用lookup-method标签注入name制定泪中方法,bean制定注入bean2

    查看全部
  • 1、构造方式注入

        类中有带参数构造方法

        xml中配置bean,子标签constructor-arg标签,配置属性  index、name、type确定构造参数,配置value,ref给属性赋值(ref用用,value基本)

    还要简便写法如图,要改一下文件上面头部申明


    2、集合类型注入

        类中get/set方法

        xml中配置property标签,标签下子标签list,list下用value/ref标签赋值;set用set标签,下面也用value/ref标签赋值;map用Map标签,entry标签赋值;properties,子标签props子标签prop赋值

    查看全部
  • Spring实例化bean的三种方式:

    1、构造方法实例化Bean

    2、静态方法实例化Bean

        BeanFactory类,类中有静态方法,作用实例化Bean

        xml中配置BeanFactory,标签属性中factory-method=类中实例化Bean的静态方法

    3、实例化方法实例化Bean

        BeanFactory类,类中有方法,作用实例化Bean

        xml中配置BeanFactory,

        xml中配置bean,bean的属性中factory-bean=factoryBean  ,factory-method=factory中实例化bean的方法

    4、Bean的别名

    查看全部
  • IoC容器约定

    http://img1.sycdn.imooc.com//62b041320001766f08400543.jpg

    查看全部
  • Spring通过注解注入Bean

    @Autowired:通过该注解实现构造方法注入和set方法注入,可以标识在有参构造方法上、set方法上、属性上。

    一、通过方法注入Bean

    1:通过有参构造方法注入

    步骤1:创建扫描配置类,并添加注解@Configuration、@ComponentScan(value=“路径”)

    代码:

    @Configuration

    @ComponentScan(value="springzhuru")

    public class MyConfiguration {

    }

    步骤2:创建要实例化的Bean,并提供有参的构造方法,并在构造方法上添加注解@Autowired在类上添加@Component。
    代码:

    @Component

    public class MyBean {

    private AnotherBean anotherBean;

    @Autowired

    public MyBean(AnotherBean anotherBean) {

    super();

    this.anotherBean = anotherBean;

    }

    查看全部
  • SpringIOC注解基本使用(spring2.5后支持注解来管理javaBean)

    @Configuration:该注解标识在类上,然后就可以通过AnnotationConfigApplicationContext(***.class)来获取spring上下文环境(相当于xml的功能)。

    @Bean:与xml配置文件<bean>标签一个用处,<bean>标签的id相当于获得@Bean(name="Id名"),如果不使用name,Id名为方法名称。

    @Component:告知spring管理这个类,还可以通过该注解的value属性指定Bean的Id。

    @Controller:被标注在Controller层。

    @Service:被标注在Service层。

    @Repository:被标注在Dao层

    与Spring.xml相比不同点:

    1、不用配置xml文件

    2、提供一个配置类,并采用注解,来获取Bean

    3、获取spring上下文的对象不同,注解使 用AnnotationConfigApplicationContext(***.class)获取spring上下文。

    步骤1:提供一个配置类,并在类上添加@Configuration注解,并提供一个返回Bean对象的方法,并在该方法上添加注解。(如果@Bean没指定name属性,则Id为方法名)

    步骤2:提供一个要创建的Bean的类。

    如何进行简化:当要获取多个Bean时,则要编写多个@Bean注解和获取Bean方法?

    步骤1:在配置类中添加@ComponentScan(value=“扫描的路径”)注解。

    @ComponentScan()注解的作用:扫描带有注解@Component的Class,Spring将管理这些Class。

    步骤2:Bean的类上加注解@Component,它的Bean的Id是类名的首字母小写的全称,如果不想使用这种方式,则使用@Component(value=“Id名”)。

    spring.xml中开启包扫描:<context:component-scan base-package="扫描的包路径"/>

    如何给Bean取别名(一个Bean对应多个Id名)?

    因为Bean()注解里的name属性是String类型的数组,所以可以通过它来指定Bean的多个Id。注意:@Component里的value是字符串类型,只能有一个BeanId。

    spring.xml给Bean取别名?

    <bean id="bean1" name="bean2,bean3" class="..."/>

    <alias name="bean1"  alias="bean4"/>

    查看全部
  • Bean属性继承应用场景

    场景一:ParentClass(属性1,属性2,属性3,get和set方法)

    子类1(属性4,属性5) 

    子类2(属性6,属性7)

    场景2:子类1和子类2没有父类,而是有一些相同的属性。

    类1:(属性1,属性2,属性3,属性4,属性5)

    类2:(属性1,属性2,属性3,属性6,属性7)

    abstract="true":设置<bean>标签只是定义性的,不会对它进行实例化操作。

    parent属性:在Bean的子类bean标签添加,值为父类的Id。

    查看全部
    0 采集 收起 来源:Bean属性继承

    2022-06-05

  • Bean初始化及销毁逻辑处理(在singleton作用域上进行讲解)

    Bean初始化——如果需要在Bean实例化时执行一些逻辑,Spring提供了两种方法:(有一个javaBean,该Bean作用,连接数据库,例如session,断开数据库连接,该Bean被创建之后,执行数据库连接的过程)

    方法1:bean标签里的init-method属性,该值为Bean的某一方法,Spring实例化时,会调用Bean的该方法。

    方法2:让Bean实现InitializingBean接口,Spring在实例化该Bean时,检测到Bean实现了该接口,就会调用该接口所定义的相应方法。

    Bean销毁——如果需要在Bean销毁之前执行一些逻辑,有两种方法。

    方法1:bean标签里的destory-method属性,该值为Bean的某一方法,Spring销毁该Bean时,会调用Bean的该方法。

    方法2:让Bean实现DisposableBean接口,Spring在销毁该Bean时,检测到Bean实现了该接口,就会调用该接口所定义的相应方法。

    查看全部
  • Bean懒加载概念

    Spring容器会在创建容器时提前初始化Singleton作用域的bean,但是如果Bean被标注了lazy-init=“true”,则该Bean只有在其被需要的时候才会被初始化。(只对singleton作用域的bean有效)

    代码:<bean id="bean" class="main.java.com.Bean懒加载.Bean" scope="singleton" lazy-init="true"></bean>

    解决多个bean使用懒加载问题

    <beans标签里添加default-lazy-init=“true”>:表示spring配置文件里所有bean都是懒加载模式。

    使用场景

    如果某个Bean在程序整个运行周期都可能不会被使用,那么可考虑设定该Bean为懒加载。

    优点:尽可能的节省了资源。

    缺点:可能会导致某个操作相应操作时间增加。

    查看全部
    0 采集 收起 来源:Bean的懒加载

    2022-06-05

举报

0/150
提交
取消
课程须知
需要具备Java语法基础,了解Java Web基础知识。
老师告诉你能学到什么?
1、什么是IoC 2、Spring Bean的管理 3、什么是懒加载

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!