
去官网下载:


创建一个简单的spring需要导入5个jar包:

创建一个xml配置文件,做一些配置:

创建一个实体类User,然后创建一个测试类Test,然后写代码:

一个入门的spring案例就这么完成了。
================

工厂模式可以降低耦合度









传统我们是建个main方法:

但是在spring中用的方法是利用配置文件:

然后测试这个方法:

=======

先创建一个实体类,然后加入属性和有参构造:

然后去xml文件中配置:

最后进行测试:

=============

向属性中设置空值,在xml中改用<null>标签:

设置的值中有特殊符号的写法:

===============

创建service类和dao类:
然后service调用dao中的方法:
原始方式:

用spring的方式:
先要在service类中加上userdao这个属性和set方法:

去xml文件中配置:

测试这个外部bean注入:

=====
演示一对多,多对一:
先创建两个实体类:
部门类:

员工类:

在xml文件中进行配置:

去测试方法:

级联赋值:

测试级联赋值:

第二种级联赋值的写法:

不过这种方法要加上get方法:

=============

先创建实体类:

去xml文件中进行配置(用<array>或者<list>标签都可以):



在实体类中加个方法:

测试注入方法:

=======
讲对象注入到实体类属性中:
先创建一个类:

在stu中加一个属性:

配置文件:

============

写个实体类:

先修改配置文件:

然后公共部分注入:

然后进行测试:

==========

创建一个实体类:

配置文件:

测试:

=========



======

了解前后置处理器

============
自动装配:



===========

在spring环境下,配置数据库连接池,直接配置的方法(先要导入jar包):


创建一个properties配置文件:

然后去xml文件中引入新的名称空间:

然后进行配置:

================
注解操作:



在xml中引入名称空间:

开始组件扫描的多种方式:


运用注解:

测试方法:

=======
对于扫描的范围进行具体设置:
根据注解的不同进行扫描(下面这个就是只扫描加了controller注解的类):

下面这个是对哪些不扫描进行设置(加了controller注解的类不扫描):

=====






然后进行测试
======

先去给userdaoimpl加个别名:

然后userservice里就要根据别名识别:

然后测试:

======
resource既可以根据类型注入,也可以根据名称注入:


====
value注解:

===============================================
AOP:


实现JDK动态代理:


开始写代码:
先创建一个接口:

然后创建一个实现类:

实现代理对象:
第一种写法是方法中的第三个参数用匿名内部类:

第二中方法,是创建一个类,继承第三个参数里的接口:

把需要增强的那个类传递过来:

然后是具体增强逻辑:

修改main方法:

===

导入jar包:


现在引入的全部jar包已经有:



==========
AOP操作,通过aspectj注解:
先创建一个类,在里面定义方法:

创建增强类(编写增强逻辑):

接下来:

配置配置文件,开启扫描:

给实体类加注解:


给增强类加注解:

在配置文件中开启代理对象:

去给增强类的方法加注解:

进行测试:

增强类中可以放5中通知(增强方法):






新建一个增强类:

原来的增强类:

============
不用注解了,用配置文件的方式实现AOP操作:
先创建两实体类:


然后在配置文件中配置创建对象的内容:

然后再加上AOP操作的其他配置:

测试:

了解,完全用注解怎么做:

原文:https://www.cnblogs.com/jmfy/p/14681924.html