【Java】Spring01学习总结

1 篇文章 0 订阅
本文详细介绍了Spring框架的核心功能,包括IOC控制反转和依赖注入,以及AOP面向切面编程。通过一个HelloWorld示例,演示了如何在Maven项目中配置Spring,使用@ComponentScan进行组件扫描,并通过AnnotationConfigApplicationContext初始化Spring容器。
摘要由CSDN通过智能技术生成

Spring随堂笔记

  • 作用

    • 提供开发时使用的组件,使开发变简单。

  • 核心功能

    1. IOC、DI 控制反转和依赖注入。

    2. AOP: 面向切面编程。

Spring中IOC

IOC:控制反转

  • 主动控制的流程为:由应用程序主动实例化或创建程序组件,适合编写简单或小型的程序。

  • 控制反转:应用程序中需要使用的组件全部放在外部容器中(Spring),在有需要的时候,

    应用程序向外部容器搜索即可,适合开发大型项目。

Spring问题

  • 当我们需要一个类的对象作为组件注入时,我们必须在Config类中使用

    @Bean声明一个方法,返回这个类的对象,如果需要注入很多对象,那么

    代码量会提升。

  • 对于简单的实例化就可以返回的注入,可以试用组件扫描进行

 


HelloSpring练习

使用Spring实现HelloWord程序

步骤

  1. 创建Maven项目

  2. 获取Spring-Contextjar

       <properties>
            <!-- 设置 JDK 版本为 1.8 -->
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.source>1.8</maven.compiler.source>
            <!-- 设置编码为 UTF-8 -->
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        </properties>
    
        <dependencies>
            <!-- Spring Context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.2.2.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13</version>
            </dependency>
        </dependencies>
    

     

  3. 创建HelloSpring
    public class HelloSpring {
        public void hello(){
            System.out.println("Hello Spring");
        }
    }

     

4. 创建Config类,这个类就是配置Spring容器中内容的类

  • Config类需要使用@Configuration来注解

  • 在Config类中,使用@Bean来注解

    /*
     *  @Configuration
     *  注解标记表示程序员告诉java
     *  这个类是配置Spring容器内容的类
     */
    @Configuration
    public class Config {
    
        /*
         * @Bean
         * 注解表示程序员告诉Java
         * 下面这个方法返回的对象,要放入Spring容器
         */
        @Bean
        public HelloSpring aaa(){
            return new HelloSpring();
        }
    }

     

  • 新建一个main方法的类(TestSpringDemo)使用代码取出spring

public class TestSpringDemo {
    public static void main(String[] args) {
        //初始化Spring容器
        //构造方法中指定配置信息的来源类
        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(Config.class);
        /*
         * 从Spring容器中获得组件(对象)
         * getBean第一个参数是Config类中获得Bean的方法名
         *        第二个参数是返回类型的反射
         */
        HelloSpring h = ac.getBean("aaa",HelloSpring.class);
        //调用HelloSpring的hello方法
        h.hello();
    }
}

输出结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值