三层架构
控制层【contorller】
---contorller
命名xxxContorller
业务层【srevice】 用来逻辑l逻辑操作
一个接口一个实现类
命名IxxxxService
---dao
接口命名:Ixxxx
|---impl
类命名xxxImpl
持久层【dao】用来操作数据库的
一个接口一个实现类
命名Ixxxx
---dao
接口命名:Ixxxx
|---impl
类命名xxxImpl
spring框架:
他是一个轻量级的DI/IOC和AOP容器框架
IOC:控制反转,把创建对象的权利交给Spring进行管控,这种创建对象权利的反转,我们叫做控制反转
DI:依赖注入,把Spring创建的对象,给字段注入值,这种现象就叫做依赖注入
注解:@Autowired 当字段加了这个注解,S譬如那个就会给这个字段注入值
AOP:
Spring:Spring就是一个Bean容器【创建对象就叫做Bean对象】框架
Spring的优点:
高内聚:
让不同的模块紧密聚合在一起
低耦合:
Spring的作用域
Spring创建的对象默认是单例的
Bean对象的懒加载
@Lazy注解的使用
Spring管控的bean 默认是及时加载(迫切加载)
bean的生命周期
-
- 实例化
- 依赖注入
- 初始化方法
- 执行目标方法
- 销毁方法
Spring依赖注入的方式
- 1,字段注入(用的最多的)
- 2.setter方法注入【了解】
-
- 3.构造方法注入【了解】
-
- 当有接口有多个实现类的时候自动注入依赖 会报错有两种解决方式
-
- 推荐使用:
-
Spring创建的bean自定义取名
Spring依赖注入的两大注解:
@Autowired
@Resource
区别:
@Autowired是Spring框架提供的注解@Resource是Java提供的注解
@Autowire是Spring框架提供的注解而@Autowire 先匹配类型,类型匹配多个再根据名字匹配
@Resource 先名字匹配名字,再根据类型匹配
建议使用@Autowired可以和Spring无缝继承