有勇气的牛排博客

java spring 基础

有勇气的牛排 970 Java 2021-10-20 13:36:36

1 Spring概念

  1. Spring是开源的轻量级框架

  2. Spring核心主要两部分

(1)aop:面向切面编程,扩展功能不是修改源代码实现

(2)ioc:控制反转(Inversion of Control)

  • 创建对象不通过new方式实现,而是交给spring,通过配置的方式创建对象。
  1. spring是一站式框架
  • Spring在javaEE三层结构中,每一层都提供不同的解决技术。

  • web层:soringMVC

  • service层:spring的aop

  • dao层:spring的jdbcTemplate

  1. Spring是一个容器,它负责创建并管理应用对象的生命周期。

2 Spring 的 IOC操作

  1. ioc:把对象创建交给sring进行管理

  2. 实现ioc的两种方式

  • ioc的配置文件方式

  • ioc的注解方式

  1. 配置文件方式

(1)导包

spring-beans-4.2.2.RELEASE.jar spring-beans-4.2.2.RELEASE-javadoc.jar spring-beans-4.2.4.RELEASE-sources.jar

(2)做spring最基本的功能的时候,导入以下四个包

  • Beans

  • Core

  • Context

  • SpEL

(3) 导入支持日志输出的jar包

log4j.1.2.16.jar

maven

<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency>

第二步:创建一个User类,在里面创建方法

第三步:创建spring配置文件,配置类,创建对象

  • spring核心配置文件名称和位置是固定不变的,建议放到src下面,官方建议applicationContext.xml,我们这里取名为bean.xml

  • 引入schema约束
    \spring-framework-4.2.4.RELEASE-dist.zip\spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html

<?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"> <!-- 注意:配置代码要在beans标签里面写 --> </beans>
  • 配置类,创建类对象
<bean id="user" class="entity.User"></bean>

第四步:创建测试类
开发中不要这样写

ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); User user = (User)ac.getBean("user"); user.show(); // 打印666

3 Bean标签常用属性

  1. id属性:相当于创建的对象的变量名

  2. class属性:创建的对象的全类名

  3. name属性:功能和id属性一样,id属性不能包含特殊符号,但是在name属性值里面可以包含特殊符号(解决statuse1里面的action的名字里有特殊符号的问题)

  4. scaop属性

  • singleton:默认值,单例对象(例:servlet对象,详见:单例设计模式)

  • prototype:多例对象(配置Struts2的Action对象)

  • *request:所创建的对象作用范围是一次请求

  • *session:所创建的对象作用范围是一次全局会话

  • *globalSession:所创建的对象作用范围是一次全局会话

4 属性注入

  1. 属性注入方式
  • 使用set方法注入

  • 使用有参构造注入

  • 使用接口注入

  1. 在spring框架里面,支持两种方式
  • set方法注入(主要使用)

  • 有参数构造注入


留言

专栏
文章
加入群聊