Spring第一课:配置文件及IOC引入(一)
Spring最核心的特点就是控制反转:(IOC)和面向切面(AOP)
首先作为一个Spring的项目需要导入的四个核心包,一个依赖:
四核心:core、context、beans、expression
一个依赖:commons-loggins.jar
其次注意在Spring的jar包中,有三种文件:
1.字节码文件[真正使用的jar包]
2.文档-javadoc
3.源码文件-sources
关于Spring的配置文件:
位置:我们一般放在src(classpath)下。
名字:名字一般取名applicationContext.xml。
内容:添加schema约束。[约束文件位置:docs\spring-framework-reference\html\ xsd-config.html]
以上都是一般的开发规则:是约定俗称,但并不是必须;
位置任意、名字任意,但是内容必须是schema约束!
测试控制反转:
所谓控制反转其实无非就是原来我们自己new的东西,交给了Spring,让它去帮助我们new。
service的接口
package com.a_ioc;
public interface UserService {
boolean addUser();
}
service的impl:
package com.a_ioc;
public class UserServiceImpl implements UserService{
@Override
public boolean addUser() {
System.out.println("add user");
return false;
}
}
位于和当前类同包块下的beans.xml[其实就是Spring的配置文件]
<?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">
<!-- 配置所需要创建对象,id用于之后从Spring中获得实例时使用的,class需要创建实例的全限定类名 -->
<bean id="UserService" class="com.ioc.UserServiceImpl"></bean>
</beans>
因为当前的Spring的配置文件是位于当前的包块下面,而默认的寻径位置又是在src下面,所以必须从src下面开始找,并且xml名称为beans.xml
package com.a_ioc;
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
// IOC:控制反转
@Test
public void testCreateBean() {
// 从Spring容器中获得:因为默认是从src下走的,所以使用src下相对路径来找
String xmlPath = "com/ioc/beans.xml";
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
// 不需要自己new,都是从Spring容器中获得
UserService userService = (UserService) applicationContext.getBean("UserService");
userService.addUser();
}
}
Spring第一课:配置文件及IOC引入(一)的更多相关文章
- Spring第一课:IOC控制反转,什么是反转,什么又是控制?
前言 学习Spring第一课,就是认识IOC控制反转,要了解它还真得花一些功夫.今天主要理解透彻它的真谛,而不仅限于表面. 上道小菜 public class BusinessService { pr ...
- 复习Spring第一课--Spring的基本知识及使用
关于Spring: spring容器是Spring的核心,该容器负责管理spring中的java组件, ApplicationContext ctx = new ClassPathXmlApplic ...
- Spring第一课:基于XML装配bean(四),三种实例化方式:默认构造、静态工厂、实例工厂
Spring中基于XML中的装配bean有三种方式: 1.默认构造 2.静态工厂 3.实例工厂 1.默认构造 在我们在Spring的xml文件中直接通过: <bean id=" ...
- Spring第一天——入门与IOC
大致内容 spring基本概念 IOC入门 [17.6.9更新],如何学习spring? 掌握用法 深入理解 不断实践 反复总结 再次深入理解与实践 一.Spring相关概念 1.概述: Sprin ...
- Spring第一课:依赖注入DI(二)
DI Dependency Injection ,依赖注入 is a :是一个,继承. has a:有一个,成员变量,依赖. class B { private A a; //B类依赖A类 } 依 ...
- spring第一课,beans配置(中)——自动装配
•Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 <bean> 的 autowire 属性里指定自动装配的模式 •byType(根据类型自动装配): 若 IOC 容器 ...
- Spring第一课:核心API(三)
以上是Spring的核心部分,其中需要了解的是:BeanFactory.ApplicationContext[FileSystemXmlApplicationContext.ClassPathXmlA ...
- spring第一课,beans配置(上)
1.通过property配置bean <!-- 配置一个 bean --> <bean id="helloWorld" class="com.atgui ...
- springMVC第一课--配置文件
刚学springMVC,记录下学习过程,供以后查阅(githup源码). 1,新建一个web工程.(其他按常规来) 如下:添加applicationContext.xml,webmvc-servlet ...
随机推荐
- windows系统显示文字编码的CMD命令
chcp命令,显示.设置系统文字编码格式.
- DOS 常用命令集
net use $">\\ip\ipc$Content$nbsp;" " /user:" " 建立IPC空链接 net use $"& ...
- dotnet 是 前30个增长最快速度的开源项目中排名第一的开发平台
CNCF 的博客 发了一篇文章 <Update on CNCF and Open Source Project Velocity 2020>,中文翻译参见 2020年CNCF和开源项目开发 ...
- 记录21.08.04 — mybatis入门学习
mybatis入门 mybatis简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工 ...
- 3D性能优化 | 说一说glTF文件压缩
引言 最近做T级互动,需要使用到3D模型.相信大家和我一样,在开始着手的时候,一定会有这么些问题: 1.如何选择3D模型的导出格式 2.如何对模型文件进行优化 3.在大流量的项目中兼容性怎么样 让我们 ...
- MapReduce框架原理-OutputFormat工作原理
OutputFormat概述 OutputFormat主要是用来指定MR程序的最终的输出数据格式 . 默认使用的是TextOutputFormat,默认是将数据一行写一条数据,并且把数据放到指定的输出 ...
- CYPEESS USB3.0程序解读之---同步FIFO(slaveFifoSync)
上一篇文章解读了CYPRESS FX3的GPIO的操作过程,下面解读同步FIFO的一个例子(slaveFifoSync). *生产者,消费者. 1.首先看DMA的回调函数(cyu3dma.h): ty ...
- Send Excerpts from Jenkins Console Output as Email Contents
Sometimes we need to send some excerpts from Jenkins console output (job logs) as email, such as tes ...
- 在Ant脚本中使用时间戳
时间戳在项目自动构建中广泛使用,例如在jar文件的manifest文件中,以及最后zip包的文件名里等,时间戳对应的Ant命令是,这个标签既可以用在一个内部,也可以放在外部用作"全局&quo ...
- iOS开发之Lame编译
前言 为了保证音频格式在多端通用,需要将音频转化为MP3格式,本文讲解了如何使用Shell脚本来编译lame库. 编译脚本 #!/bin/sh CONFIGURE_FLAGS="--disa ...