Spring(一)

简介: Spring(一)

各位小伙伴,大家好!点个关注,更多精彩等着你哦!!

今天,勇哥我想跟大家分享有关Spring的入门小知识IOC容器,这是Spring入门系列课程,听说优秀的程序员都会点赞关注!

一、什么是IOC?

IOC即控制反转,将对象管理交给容器来管理,由容器帮我们查找并注入依赖的对象,对象中的属性行为等,对象只能被动的接收依赖对象,依赖对象的获取被反转了。IOC可以管理所有轻量级的JavaBean组件,提供的底层服务包括组件的生命周期管理、配置和组装服务、AOP支持,以及建立在AOP基础上的声明式事务服务等等。

IOC的作用:可降低组件之间的耦合度,便于软件之间的解耦。IOC容器提供众多服务,如事务管理等。当我们使用容器管理事务时,开发程序员就不再需要手工控制事务,这样就可以减少不必要的麻烦了,进一步提高工作效率。

如以下所举的列子:图中的中介就相当于Sping中的容器管理IOC,对象房东就交给容器来管理。

二、引入依赖注入。

这是我们一定会疑问,该如何使用Spring? 接下来,我教大家如何用maven导入项目所需的依赖包及创建一个项目。

1.首先用maven创建一个小项目,在pom.xml引入依赖包。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>org.example</groupId>
    <artifactId>spring2</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.12.RELEASE</version>
        </dependency>
    </dependencies>
</project>

2.然后在项目中先创建一个包,在包中再创建Woman类

package demo1;
 
public class Woman {
    private String name;
    private int    age;
    private String outlook;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public String getOutlook() {
        return outlook;
    }
 
    public void setOutlook(String outlook) {
        this.outlook = outlook;
    }
 
    @Override
    public String toString() {
        return "Woman{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", outlook='" + outlook + '\'' +
                '}';
    }
}

3.在创建一个Man类

public class Man {
    private String name;
    private int  age;
    private double  height;
    private double  weight;
    private int     fund;
    private Woman woman;
 
 
    public void proposal(){
        System.out.println("这名男生名叫"+name+" \n年龄为"+age+"。是一个拥有资产为:"+fund+"的富豪。向一名为:"+
                woman.getName()+woman.getAge()+woman.getOutlook()+"的小姐姐求婚了");
 
    }
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public double getHeight() {
        return height;
    }
 
    public void setHeight(double height) {
        this.height = height;
    }
 
    public double getWeight() {
        return weight;
    }
 
    public void setWeight(double weight) {
        this.weight = weight;
    }
 
    public int getFund() {
        return fund;
    }
 
    public void setFund(int fund) {
        this.fund = fund;
    }
 
    public String getInterest() {
        return interest;
    }
 
    public void setInterest(String interest) {
        this.interest = interest;
    }
 
    private String  interest;
 
    @Override
    public String toString() {
        return "Man{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", height=" + height +
                ", weight=" + weight +
                ", fund=" + fund +
                ", interest='" + interest + '\'' +
                '}';
    }
 
    public void setWoman(Woman woman) {
        this.woman = woman;
    }
 
    public Woman getWoman() {
        return woman;
    }
}

4.最后再创建一个测试类。

package demo1;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class SpringUser {
    public static void main(String[] args) {
        //ClassPathXmlApplicationContext是ApplicationContext的实现类
        //ApplicationContext是BeanFactory的子接口
        ApplicationContext context=new
                ClassPathXmlApplicationContext("classpath:ApplicationContext.xml");
        Woman xiaoyu = (Woman) context.getBean("xiaoyu");
        System.out.println(xiaoyu);
         Man yong=(Man) context.getBean(Man.class);
        System.out.println(yong);
        System.out.println(xiaoyu==yong.getWoman());
 
    }
}

5.在xml文件中配置Bean,其中包括基本属性。

bean元素:该元素用来描述需要spring容器管理对象

class属性:被管理对象的完整类名

id属性:与name属性一模一样,名称不可重复,及被管理对象的名字

name属性:给被管理的对象起名字,获得对象时可用于来获取属性值,getBean("name值")

   

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <!--suppress SpringFacetInspection -->
    <bean id="xiaoyu" class="demo1.Woman">
        <property name="name"  value="小宇"/>
        <property name="age" value="18"/>
        <property name="outlook" value="沉鱼落雁"/>
    </bean>
    <bean id="yong" class="demo1.Man">
        <property name="name" value="小华"/>
        <property name="age"  value="20"/>
        <property name="fund" value="1000000000"/>
        <property name="height"  value="178"/>
        <property name="interest" value="爱打篮球,喜欢科研,热爱ai"/>
        <property name="weight" value="105"/>
        <property name="woman" ref="xiaoyu"/>
    </bean>
</beans>

最后,祝你们都有所收获,喜欢记得点个关注,更多精彩等着你哦!!


相关文章
|
Java 容器 Spring
|
7月前
|
XML Java 数据库
|
7月前
|
SQL Java 数据库
|
8月前
|
存储 设计模式 Java
【Spring】——Spring简单 读和取(二)
【Spring】——Spring简单 读和取
71 0
【Spring】——Spring简单 读和取(二)
|
8月前
|
存储 Java 数据库
【Spring】——Spring简单 读和取(一)
【Spring】——Spring简单 读和取
90 0
【Spring】——Spring简单 读和取(一)
|
8月前
|
前端开发 Java 开发者
【Spring】 ——初识Spring
【Spring】 ——初识Spring
65 0
|
8月前
|
Java Spring
Spring中那些BeanFactoryPostProcessors详解(二)
Spring中那些BeanFactoryPostProcessors详解(二)
47 0
|
Java Spring 容器
Spring(二)
Spring(二)
93 0
Spring(二)
|
消息中间件 开发框架 NoSQL
回顾Spring
Spring是什么 Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
|
Java Spring
Spring OrderUtils详解
《读尽源码》
236 0

热门文章

最新文章