初学spring-2

了解:自动装配,bean的继承,依赖关系(parent) 有好多一样的东西

重要:bean的作用域默认情况下,IOC 中配的bean是单例的,适用于大部分情况,也有不适用的

配置scope="prototype" 原型的 每次调用getBean 都会返回一个新的对象

       scope="singleton"  默认的 ,单例的

<bean scope="prototype"></bean>


使用外部属性文件

重要:

bean 的生命周期 

1. 调用构造器创建对象

2. 调用 setter 为属性初始化

3. 调用 BeanPostProcessor 的 postProcessBeforeInitialization 方法

4. 调用 init-method

5. 调用 BeanPostProcessor 的 postProcessAfterInitialization 方法

6. bean 可以使用

7. 容器关闭的时候, 调用 destroy-method

实现BeanPostProcessor接口

* IOC 容器在调用 init-method 之后会调用该方法. 若没有 init-method 

* 则在 postProcessBeforeInitialization 之后就调用该方法.

* @param  arg0: bean 实例

* @param  arg1: 在 IOC 容器中配置的 bean 的 id. 

* @return : 返回值将直接给到 getBean 方法作为返回值

* 作用: 在 init 前后对 bean 的属性进行调整. 通常在使用 BeanPostProcessor 时都需要使用 instanceof 对 bean 进行

* 先行的判断. 


<bean class="实现BeanPostProcessor接口的全类名"></bean>

运行流程

构造器被调用...

before方法

init方法调用了...

after方法

开始运行


了解:工厂方法1.实例工厂方法

2.静态工厂方法

重要:FactoryBean

bean对象需要实现FactoryBean接口

实现三个方法返回的是getObject()方法 返回的实例  因为有些在IOC中配置不方便,

则可以使用FactoryBean简化配置,多见于Spring整合第三方框架



重要重中之重(工作都用):基于注解的配置方式

1. 导入 context 命名空间

2. 使用 context:component-scan 节点的 base-package 属性指定扫描的包,同时会扫描子包

3. 在需要被扫描的包上添加注解.

4. 在需要装配的属性上添加 @Autowire 注解. 


泛型依赖注入:

1. 可以根据泛型类型注入对应的 bean. 

(根据泛型,要在继承baseDao之类class上面加注解)

2. 注意: 若在 IOC 中没有对应泛型的 bean, 则会抛出异常. 

3. 调用getBean("类名的第一个字母小写  和类名一样")




aop初学

1.导入包<context:component-scan base-package="com.atguigu.spring.aop"></context:component-scan>

2.加入 <aop:aspectj-autoproxy></aop:aspectj-autoproxy> 配置. 使 Spring 可以自动的生成代理对象

3.创建有方法的实现类,注解 @Component("id名称") (组件的意思),@Aspect 声明为切面类 

@before("execution(方法全类名)")

@Before("execution(修饰符    返回值类型   全类名.方法名(参数类型列表))")

4.通过getBean获取对象,调用对象方法即可


你可能感兴趣的:(初学spring-2)