1、@Configuration 标识当前类是配置类
2、@ComponentScan 包扫描注解 扫描注解
3、@Bean 标识该方法的返回值交给Spring容器管理
4、@Scope 控制多例和单例
5、@Lazy 懒加载
6、@PostConstruct 初始化方法
7、@PreDestroy 销毁方法
8、@Component 将当前类未来的对象交给容器管理
9、@Autowired 按照类型进行注入
10、@Qualifier 按照名称进行注入
11、@Repository 标识持久层注解
12、@Service 标识Service层
13、@Controller 标识Controller层
14、@Value 为属性赋值 @Value("${key}")
15、@PropertySource 加载指定路径的配置文件properties
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,
是针对bean的生命周期进行管理的轻量级容器。
知识补充:
1)J2SE java基础; J2EE java企业级开发; J2ME 移动端开发。
2)bean:spring容器管理的对象称之为bean
3)生命周期:对象创建 / 对象的初始化 / 对象执行业务逻辑 / 对象销毁
4)轻量级容器:Spring在内存中申请了一块内存空间,用来储存其他对象
二、面向接口编程说明:将子类中方法进行高级的抽取,抽取到接口中,这时该接口用来定义行为规范准则。
面向接口编程优势:解决了属性与方法名的耦合,以后几乎可以不修改属性名。
三、Spring-IOC规则 1、面向接口编程弊端说明:虽然面向接口编程可以在一定程度上解决代码耦合性的问题,但是根源问题没有解决,
当前的User类与Cat等对象紧紧的耦合在一起,如果后期维护,则必然要修改源码。
2、IOC调用原理图IOC:即 “控制反转”,这是一种设计思想。对象创建的权力由Spring框架完成,
由容器管理对象的生命周期,需要的时候进行依赖注入(DI)即可。
3、Spring-IOC 入门案例1)准备Dog类
2)准备spring的配置文件
说明:spring早期都使用配置文件的方式来管理对象,但是随着软件的升级当下注解的方式已经成为主流,所以先完成xml配置文件的方式,之后完成注解的方式。
内容说明:xml 文件一般都会有固定的头标签
3)准备SpringGetDog类
4、Spring实例化对象Spring实例化对象的核心原理 - 反射原理
注意事项:反射代码 必然会调用对象的无参构造方法。
5、Spring创建对象的步骤1)定义Spring的配置文件的地址,
2)Spring容器启动时加载指定的配置文件,
3)当Spring扫描到bean标签时,加载属性 id 和 class。
4)根据反射机制、根据class的路径反射,实例化对象,
5)Spring 在内部维护了一个大型的 Map
6)从spring容器中通过 Id 或者 class 类型获取对象。
7)根据对象调用业务方法。
四、Spring-IOC注解开发 1、注解组成部分1)实体类:Spring容器管理的类(对象)
2)配置类:相当于早起的 xml 配置文件
3)测试代码:利用注解的方式启动spring容器
配置类内容:
2、Spring中的单例 - 多例模式
1)概念说明:
单例模式:内存中的对象就一份
多例模式:内存中的对象有多份
概念说明:Spring的对象默认是单例的
2)关于注解@Scope 注解@Lazy (懒加载)
关于多例模式和懒加载说明:
@Lazy只能控制单例模式,多例模式都是懒加载。
3、多实现类案例讲解
一般条件下Spring中的接口,都是单实现,解决多实现的就需要加入@Qualifier。
五、MVC设计思想
为了提高程序的扩展性,将程序按照MVC设计思想进行管理。
1、MVC设计思想说明M :Model 数据层
V:View 视图层
C:Control 控制层
总结:MVC主要的目的降低代码的耦合性,提高扩展性,方便后续开发。
2、"三层"代码结构
说明:基于MVC设计思想的启发,在后端为了提高代码的扩展性,一般将后端代码分为三层。
1)Controller层:主要与页面进行交互 @Controller
2)Service层:主要实现后端的业务逻辑 @Service
3)Dao层 / Mapper层:主要与数据库进行交互,也把该层称之为"持久层"
@Repository / @Mapper
代码结构说明:
1、包名:mapper 类 2个,一个接口 UserMapper / 一个实现类 UserMapperImpl
2、包名:service 类 2个,一个接口UserService / 一个实现类 UserServiceImpl
3、包名:controller 1个类,UserController
知识说明:被调用的一般会有接口和实现类
@Value注解 :需在resources下创建 addUser.properties 文件
六、Spring - AOP 1、业务说明
事务特性:原子性、一致性、隔离性、持久性
业务说明:在增 / 删除 / 修改的操作过程中添加事务控制
2、



