![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring-IOC
b站雷丰阳笔记记录
Shen_R
这个作者很懒,什么都没留下…
展开
-
spring1-test22-@Autowired注解的required属性指定某个属性允许不被设置
发现Autowired标注的属性默认是一定要装配上的,否则就报错。可我们不想报错找到就装配,找不到就拉倒,赋值null:1.使用@Autowired(required=false):表示允许找不到。package com.atgugui.servlet;import com.atgugui.service.BookService;import org.springframework.b...原创 2020-03-18 22:00:57 · 198 阅读 · 0 评论 -
spring1-test21-在方法的形参位置使用@Qualifier注解
package com.atgugui.servlet;import com.atgugui.dao.BookDao;import com.atgugui.service.BookService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.fa...原创 2020-03-18 21:56:30 · 996 阅读 · 0 评论 -
spring1-test20-如果根据成员变量名作为id还是找不到bean
可以使用@Qualifier注解明确指定目标bean的id:package com.atgugui.servlet;import com.atgugui.service.BookService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.fac...原创 2020-03-18 21:55:23 · 210 阅读 · 0 评论 -
spring1-test19-默认根据@Autowired注解标记的成员变量为id查找bean,进行装配
添加一个BookServiceExt类来看下,在实验18的基础上来理解:package com.atgugui.service;import com.atgugui.dao.BookDao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype...原创 2020-03-18 21:53:42 · 712 阅读 · 0 评论 -
spring1-test18-使用@Autowried注解实现根据类型实现的自动装配
配置文件:<!--实验18:使用@Autowried注解实现根据类型实现的自动装配--><context:component-scan base-package="com"></context:component-scan>各层级结构:package com.atgugui.servlet;import com.atgugui.service.B...原创 2020-03-18 21:48:56 · 348 阅读 · 0 评论 -
spring1-test17-使用context:exclude-filter指定扫描包时不包含的类
<!--实验17-使用指定扫描包时不包含的类: 使用context:exclude-filter指定扫描包时不包含的类: 扫描时可以排除一些不要的组件。 type="annotation":指定排除规则,按照注解进行排除,标注了指定注解的就排除。 expression="org.springframework.stereotype.Repository":写注...原创 2020-03-18 21:40:22 · 1005 阅读 · 0 评论 -
spring1-test16-指定扫描包时要包含的类
使用context:include-filter指定扫描包时要包含的类:<!-- 实验16-指定扫描包时要包含的类:使用context:include-filter指定扫描包时要包含的类。 只扫描哪些组件,默认是全部扫描进来。 use-default-filters="false":一定要禁用掉默认的过滤规则才生效。--><context:component...原创 2020-03-18 21:39:23 · 414 阅读 · 1 评论 -
spring1-test15-通过注解分别创建Dao,Service,Controller
重要实验!解释:如果项目中的类很多,那么我们在配置文件中就要写很多的bean标签,来把这些类加入到容器中。所以,本次实验就是通过在具体的类上写注解,来把各组件(类)更快的添加到容器中。注意配置文件头的一些名称空间的配置情况,若少了什么名称空间配置,会报错。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:...原创 2020-03-18 21:37:10 · 245 阅读 · 0 评论 -
spring1-test14-SpEL测试
spring expression language:spring的表达式语言。在SpLE中使用字面量引用其他bean引用其他bean的某个属性值调用非静态方法调用静态方法使用运算符,都支持1. #{ },${ }:<property name="salary" value="#{123*12}"></property>2. 引用其他bean的某个属性...原创 2020-03-17 22:02:27 · 223 阅读 · 0 评论 -
spring1-test13-基于XML的自动装配(自定义类型自动赋值)
首先当然是明确下什么是自定义类型,不是Java已有的类型。<bean id="car1" class="com.atguigu.bean.Car"> <property name="carName" value="宝马"></property> <property name="color" value="白色"></pro...原创 2020-03-17 21:55:33 · 116 阅读 · 0 评论 -
spring1-test12-引用外部属性文件
该方法用来做数据库连接池,spring管理连接池:数据库连接池作为一个单实例是最好的,一个项目就一个连接池,连接池里面管理很多链接。可以让spring管理连接池。实验12-引用外部属性文件用c3p0连接池技术做个试验: <!--数据库连接池作为一个单实例是最好的,一个项目就一个连接池--> <!--连接池里面管理很多链接。可以让spring管理连接池--&g...原创 2020-03-17 21:49:54 · 222 阅读 · 0 评论 -
spring1-test11-测试bean的后置处理器
实验11:测试bean的后置处理器:Spring有一个接口,后置处理器,可以在bean的初始化前后调用方法。<bean id="beanPostProcessor" class="com.atguigu.bean.MyBeanPostProcessor"></bean>写后置处理器的实现类:package com.atguigu.bean;import o...原创 2020-03-17 21:43:03 · 112 阅读 · 0 评论 -
spring1-test10-创建带有生命周期方法的bean
实验10:创建带有生命周期的bean生命周期:bean的创建到销毁;ioc容器中得注册的bean:单实例bean:容器启动时就会创建好,容器关闭也会销毁创建的bean。多实例bean:在获取的时候才创建,但是得自己写方法来销毁。我们可以为bean自定义生命周期的一些方法,spring在调用时这些方法。自定义初始化方法和销毁方法。<bean id="book01" cl...原创 2020-03-17 21:38:33 · 144 阅读 · 0 评论 -
spring1-test9-测试bean的作用域,分别创建单实例和多实例的bean-重要
实验9-测试bean的作用域,分别创建单实例和多实例的bean单实例:表示容器被创建之前就已经创建好对象了,保存在容器中了;任何时候获取,都是获取之前创建好的对象。多实例:容器启动不会创建多实例的bean,获取时才会创建bean。每次获取,都会创建一个新的实例。bean的作用域:指定bean是否单实例,默认是单实例的。scope=“prototype”:多实例的;scope=“sin...原创 2020-03-17 21:07:00 · 162 阅读 · 0 评论 -
spring1-test8-bean之间的依赖
实验8:bean之间的依赖,只是改变创建顺序的<!--原来是按照bean的配置顺序来创建bean的--><!--可以改变bean的创建顺序--><!--在person之前创建book和car对象--><bean id="person" class="Person" depends-on="book,car"></bean><...原创 2020-03-17 20:56:01 · 135 阅读 · 0 评论 -
spring1-test7--通过abstract属性创建一个模板bean
通过abstract属性创建一个模板bean<!--abstract="true":表示这个bean的配置是抽象的,不能获取它的实例,只能被用来继承--><bean id="person05" class="Person" abstract="true"> <property name="name" value="张山"></property&...原创 2020-03-17 20:48:16 · 159 阅读 · 0 评论 -
spring1-test6-通过继承事项bean配置信息的重用
实验6-通过继承事项bean配置信息的重用:<bean id="person05" class="Person"> <property name="name" value="张山"></property> <property name="age" value="32"></property> <proper...原创 2020-03-17 20:42:22 · 128 阅读 · 0 评论 -
spring1-test5-配置通过静态工厂方法创建的bean、实例工厂方法创建的bean、FactoryBean
实验5-配置通过静态工厂方法创建的bean、实例工厂方法创建的bean、FactoryBean:说明:工厂模式帮助我们创建对象,有一个专门帮我们创建对象的类,这个类就是工厂类。使用生成该类直接进行传参就行了,就像AirPlane ap = AirPlaneFactory.getAirPlane(String jzName);工厂分为两类:静态工厂:工厂本身不用创建对象,通过静态方法调用...原创 2020-03-17 20:19:45 · 156 阅读 · 0 评论 -
spring1-test4-正确为各种属性赋值
实验4-正确为各种属性赋值1.测试使用null值,ref引用外部的值2.引用类型赋值(引用其他bean、引用内部bean)3.集合类型赋值(List、Map、Properties)4.util名称空间创建集合类型bean,引用一个可以外部引用的集合5.级联属性赋值1.测试使用null值,ref引用外部的值:ioc2.xml配置文件:<?xml version="1.0" ...原创 2020-03-15 18:50:35 · 191 阅读 · 0 评论 -
spring1-test3-通过构造器为bean的属性赋值(index,type属性介绍),通过p名称为bean赋值
测试1:使用有参构造器进行赋值调用。直接调用有参的构造方法为属性赋值,不会再去调用set方法为属性赋值了。和之前无参的构造方法为属性赋值的方法不一样,注意<bean id="person3" class="Person"> <constructor-arg name="name" value="小明"></constructor-arg> &l...原创 2020-03-15 18:41:38 · 151 阅读 · 0 评论 -
spring1-test2-根据bean的类型从IOC容器中获取bean的实例
根据Person这个类型从容器中获取到对象的值,如果该容器中有多个注册对象的话,那么就会出现错误。可以尝试使用第二种方法。@Testpublic void test02(){ /** * 如果IOC容器中的这个类型的bean有多个,那么按照这个类型找会失败。 */ ApplicationContext ioc = new ClassPathXmlAppl...原创 2020-03-15 18:35:32 · 152 阅读 · 0 评论 -
spring1-test1-spring使用步骤之组件注册、使用简单总结,并解决BeanFactory not initialized or already closed - call 'refres
实验1:spring的创建过程通过各种方式给容器注册对象(注册会员)以前是自己new对象,现在所有的对象交给容器创建,给容器中注册组件。当使用maven创建项目之后,并且配置好了相应的依赖。之后按照正常的步骤来测试下spring的容器组件是否可以正常运行。maven的创建过程在之前的博客中有提到详细的步骤。1、person类public class Person { pri...原创 2020-03-14 19:19:35 · 183 阅读 · 0 评论 -
spring1-创建sping框架项目并测试-在IDEA中利用maven来解决Spring的配置文件信息
如果你只是为了创建核心模块,来测试下的话,可以参考下以下的创建步骤。1.先创建maven工程maven工程的创建,在之前的博客中有更详细的介绍。2.项目创建好后,添加依赖关系在项目上右键选择Add Framework Support注意:这里说明下,你要根据自己的所需合理的选着自己需要的依赖。如果是初学测试使用,可以按照下图的配置来选择,记得点击创建配置文件按钮。如果...原创 2020-03-14 12:56:31 · 143 阅读 · 0 评论