【学习笔记-SSH框架】Spring入门-笔记01-Spring简介及环境搭建

Spring入门-笔记01-Spring简介及环境搭建

目录

  1. Spring简介
  2. Spring特点
  3. Spring体系结构
  4. 环境搭建

1. Spring简介

Spring框架是一个针对javaEE的轻量级解决方案,其简化了javaEE企业级应用的开发过程,是目前最流行的javaEE集成框架。

主要功能:

  1. 基于依赖注入的核心功能
  2. 声明式的面向切面编程(AOP)支持
  3. 与多种持久层技术的整合
  4. 独立的Web MVC框架

2. Spring特点

Spring是一个轻量级的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)的容器框架。

有以下特点:

  1. 轻量:从大小与开销两方面而言都是轻量的。
  2. 控制反转:通过IoC(控制反转)技术促进了松耦合。
  3. 面向切面编程:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统服务进行内聚性的开发。
  4. 容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上,Spring只是一种容器,开发者可以配置自己的每个Bean,可以创建一个单独的实例,或每次需要时创建新的实例,以及配置这些bean之间是如何相互关联的。
  5. 框架:Spring可以将简单的组件配置,组合成为复杂的应用。

3. Spring体系结构

Spring框架按其所属的功能可以划分为5个主要模块。

图 Spring体系结构图

其中IoC和AOP是Spring所依赖的根本。

4. 环境搭建

以maven项目方式创建项目。

  1. 在IDE中创建maven项目
  2. 加入Spring依赖
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.11.1</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>compile</scope>
    </dependency>
  1. 创建pojo类
package com.chapter08.bean;

public class User {
    private int id;
    private String username;
    private String password;

    public User() {
    }

    public User(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
  1. 编写配置文件

    在resources文件夹中创建applicationContext.xml

<?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-2.0.xsd">

    <!--创建好pojo类之后,需配置对应的bean-->
    <bean class="com.chapter08.bean.User" id="user">
    <property name="id" value="1"/>
    <property name="username" value="AlanLee"/>
    <property name="password" value="123456"/>
    </bean>
</beans>
    
  1. 测试
    编写测试类TestMain.java
    编写测试方法
    /**
     * 测试setter注入
     */
    @Test
    public void testUserBean_setter(){
        //加载配置文件
        ClassPathXmlApplicationContext ctx =
                new ClassPathXmlApplicationContext("applicationContext.xml");

        User user = (User) ctx.getBean("user");

        System.out.println("id = " + user.getId());
        System.out.println("username = " + user.getUsername());
        System.out.println("password = " + user.getPassword());

        ctx.close();
    }

No Log4j2的问题解决方法

运行项目时,在控制台会输出如下错误信息:

ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property ‘log4j2.debug’ to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
在这里插入图片描述

解决方法:

在resources文件夹中创建log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.opensymphony.xwork2" level="info"/>
        <Logger name="org.apache.struts2" level="info"/>
        <Logger name="org.demo.rest" level="debug"/>
        <Root level="warn">
            <AppenderRef ref="STDOUT"/>
        </Root>
    </Loggers>
</Configuration>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值