今天学习的是spring框架,内容主要有:

spring的概念,主要是做什么的:

Spring是一个基于IOC和AOP的结构J2EE系统的框架
IOC 反转控制 是Spring的基础,Inversion Of Control

简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象

DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。

Spring 内容:IOC容器 控制反转。

                      Aop实现 面向切面编程

                      数据访问支持  1 简化jdbc/orm框架

                                             2 声明式事务

 

1. Spring容器的主要目的:降低业务逻辑层和其他层的耦合度(IOC)

2. Spring容器 用来创建和管理(管理对象和对象之间的关系)程序中的所有对象的实例

3. 非侵入式框架轻量级开源框架

 

 

 

Spring的核心  ( IOC  ,AOP )

IOC(Inversin Of Control)  控制反转

在没有使用框架之前我们都是在Service 层创建dao的实例对象!控制权在service !

现在我们使用了Spring框架,创建dao的实例对象—使用Spring容器   控制权在 Spring容器!

这种控制权从程序的代码中转到Spring容器的行为就称为 IOC 控制反转  

 

学习完spring的概念作用后动手做一个实例:

步骤1:下载spring的jar包

地址:https://pan.baidu.com/s/1o9nqDxK

 

步骤2:在eclipse下新建一个java project命名为spring

步骤3:jar包的导入

把jar包导入到项目中,导包办法:右键 project->properties->java build path->libaries->add external jars

 

步骤4;新建pojo

准备pojo Category,用来演示IOC和DI

  1. package com.how2java.pojo;
  2. public class Category {
  3. public int getId() {
  4. return id;
  5. }
  6. public void setId(int id) {
  7. this.id = id;
  8. }
  9. public String getName() {
  10. return name;
  11. }
  12. public void setName(String name) {
  13. this.name = name;
  14. }
  15. private int id;
  16. private String name;
  17. }

 

步骤5.applicationContext.xml

在src目录下新建applicationContext.xml文件
applicationContext.xml是Spring的核心配置文件,通过关键字c即可获取Category对象,该对象获取的时候,即被注入了字符串”category 1“到name属性中

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:aop="http://www.springframework.org/schema/aop"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xmlns:context="http://www.springframework.org/schema/context"
  7. xsi:schemaLocation="
  8. http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  10. http://www.springframework.org/schema/aop
  11. http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  12. http://www.springframework.org/schema/tx
  13. http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  14. http://www.springframework.org/schema/context
  15. http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  16. <bean name="c" class="com.how2java.pojo.Category">
  17. <property name="name" value="category 1" />
  18. </bean>
  19. <bean name="p" class="com.how2java.pojo.Product">
  20. <property name="name" value="product1" />
  21. <property name="category" ref="c" />
  22. </bean>
  23. </beans>

 

步骤6:Testspring

  1. package com.how2java.test;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. import com.how2java.pojo.Product;
  5. public class TestSpring {
  6. public static void main(String[] args) {
  7. ApplicationContext context = new ClassPathXmlApplicationContext(
  8. new String[] { "applicationContext.xml" });
  9. Product p = (Product) context.getBean("p");
  10. System.out.println(p.getName());
  11. System.out.println(p.getCategory().getName());
  12. }
  13. }

 

步骤7:运行程序

 

 

版权声明:本文为yuyiWang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yuyiWang/p/8379953.html