关于Spring框架入门及理解

------------恢复内容开始------------

 

认识Spring:

  首先Spring是一个轻量级框架,它提供了Ioc(控制反转)、AOP(面向切片编程)、声明事务的支持、方便程序的测试、方便与其他框架结合

IOC底层原理:

  xml解析、工厂模式、反射

  IOC过程:

    1.xml配置文件,配置创建的对象

    <!--配置user对象创建-->
<bean id="user1" class="com.atguigu.user"></bean>
<!--class的值是类路径(包名加类名)、id是对象名字,自己可以随意起-->
<!--通过bean标签完成对象的创建-->
  2.有service类和dao类,创建工厂类(工厂模式)
  class UserFactory{
    public static Userdao getDao()
{
  String calssValue=class属性值;//xml解析而来ApplicationContext contest=new ClassPathXmlApplicationContext("bean1.xml");
  Class clazz=Class.forName(classValue);//通过反射创建对象
  return (UserDao)clazz.newInstance();

}

}
IOC接口
IOC思想是基于IOC容器完成,IOC容器底层就是对象工厂
Spring提供IOC容器实现的两种方式:(两个接口)1:BeanFactory(Spring内部接口,一般不用,加载配置文件不会创建对象,要在使用时才创建)
                       2:ApplicationContext(BeanFactory的子接口,比它强大,加载配置文件时就创建对象)


IOC具体操作:
  1.Bean管理操作{1、创建对象。2、注入属性}
  2.Bean管理操作方式{1.基于XML文件方式实现。2.基于注解方式}
  
  基于XML方式创建对象和注入属性

<!--配置user对象创建-->创建对象时是默认执行无参构造方法创建对象
    <bean id="user1" class="com.atguigu.user"></bean>

 

 在配置文件bean1.xml中加入

在XML中注释不要用//要用<!---->


使用有参构造方法进行属性注入

1.创建类,定义属性,创建属性对应的有参构造

 

 

 

 2.配置XML文件

 

 

测试

 

 

 

 

 

 P名称空间注入(了解即可)

(1)使用p名称空间注入可以简化基于xml配置方式

第一步:添加P名称空间在配置文件XML中

 

 

这里再原有基础上添加xmlns:p="";

 

 

 

 会使从property赋值变得简单

 

 

 

 

IOC操作Bean管理(XML注入其他类型属性)

1.字面量

  (1)null值

  (2)属性值包含特殊符号

 

 

 

 

 

注入属性的三种方式 : 外部bean

            内部bean

           级联赋值 

 

         外部bean操作方式:

      (1)创建两个类service类和dao类

      (2)在service调用dao里面的方法

      (3)在配置文件中配置,

 

 

 

 

 

 

 

 

 

                    注入属性:内部Bean和级联赋值

      (一对多关系:部门与员工,一个部门多个员工,一个员工属于一个部门)

        在实体类中表示一对多关系

public class Empt {
//员工类,员工属于某一部门用对象形式表示
private String ename;
private String gender;
private Dept dept;

public void setEname(String ename) {
this.ename = ename;
}

public void setGender(String gender) {
this.gender = gender;
}

public void setDept(Dept dept) {
this.dept = dept;
}
public void add()
{
System.out.println(ename+"::"+gender+"::"+dept);
}
}

 

 

 

 

 

       注入属性-----级联赋值()

 

 

 

 

 

 

 

 

 

 

 

 

 


















  

 

------------恢复内容结束------------

posted @ 2022-01-10 11:41  饿了快点吃  阅读(223)  评论(0)    收藏  举报