1. Spring概述

1. Spring概述

  1. Spring 官网 https://spring.io/

  2. Spring是一个IOC(DI)和AOP容器框架。

  3. Spring是一个开源框架

  4. Spring为简化企业级开发而生,使用Spring,JavaBean就可以实现很多以前要靠EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能够实现,而在Spring中却非常的优雅和简洁。

    • 注: EJB即Enterprise JavaBean,是SUN的JavaEE服务器端组件模型。在JavaEE里,EJB称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。在EJB3.0推出以后,实体Bean被单独分了出来,形成了新的规范JPA
  5. Spring的优良特性

    1. 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
    2. 依赖注入:DI——Dependency Injection,反转控制(IOC)最经典的实现。
    3. 面向切面编程:Aspect Oriented Programming——AOP
    4. 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期
    5. 组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
    6. 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring 自身也提供了表述层的SpringMVC和持久层的Spring JDBC)。
  6. Spring模块

    在这里插入图片描述

2. 搭建Spring运行时环境

2.1 加入JAR包
① Spring自身JAR包:spring-framework-4.0.0.RELEASE\libs目录下
    spring-beans-4.0.0.RELEASE.jar
    spring-context-4.0.0.RELE2ASE.jar
    spring-core-4.0.0.RELEASE.jar
    spring-expression-4.0.0.RELEASE.jar
② commons-logging-1.1.1.jar

在这里插入图片描述

2.2 创建Spring的配置文件

通过如下步骤创建Spring的配置文件

使用Idea,setting-->Editor-->File and Code Templates-->Spring-beans.schema.xml-->Enable Live Templates (取名:applicationContext.xml)

2.3 HelloWorld

使用Spring创建对象,为属性赋值

2.3.1 创建Student类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private String name;

    private String sex;

    private String address;
}
2.3.2 创建Spring配置文件

applicationContext.xml

	<!-- 使用bean元素定义一个由IOC容器创建的对象 -->
	<!-- class属性指定用于创建bean的全类名 -->
	<!-- id属性指定用于引用bean实例的标识 -->
	<bean id="student" class="com.justweb.helloworld.bean.Student">
        
		<!-- 使用property子元素为bean的属性赋值 -->
		<property name="studentId" value="1001"/>
		<property name="stuName" value="Tom"/>
		<property name="age" value="20"/>
        
   </bean>
2.3.3 测试:通过Spring的IOC容器创建Student类实例
  1. ClassPathXmlApplicationContext( "applicationContext.xml" );
  2. ctx.getBean( "student", Student.class );
public class TestStudent {
    @Test
    public void test(){
        //1. 创建IOC容器对象
        ApplicationContext ctx= new ClassPathXmlApplicationContext( "applicationContext.xml" );

        // 使用getBean通过id拿到创建的对象
        // Student student = (Student)ctx.getBean( "student" );
        
        // 通过bean的类型获取对象,但如果同一个类型的bean在XML文件中配置了多个,
        // 则获取时会抛出异常,所以同一个类型的bean在容器中必须是唯一的。
        // Student student = ctx.getBean( Student.class );

        // 同时指定bean的id值和类型,来拿到对象  推荐使用
        Student student = ctx.getBean( "student", Student.class );


        System.out.println( "student = " + student );
    }
}
2.3.4 pom.xml
    <dependencies>
        <!--测试所用的包-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--spring框架所用包,有四个-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>
        <!--记录日志包-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!--lombok包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
        </dependency>

    </dependencies>

·☆·

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值