01Spring基于xml的IOC配置

1、创建一个普通的maven工程

1.1 选择maven,不用骨架,点击下一步。

1.2 填写GroupId、ArtifactId、Version。填完点击下一步

1.3 确认项目路径,确认完成点击finish

2、模拟三层创建包和类

2.1 创建service接口

package com.yuank.service;  

public interface IAccountService {
/**
* 模拟保存账户
*/
void saveAccount();
}

2.2 创建service接口的实现类

package com.yuank.service.impl;  

import com.yuank.dao.IAccountDao;
import com.yuank.dao.impl.AccountDaoImpl;
import com.yuank.service.IAccountService; /**
* @author PC-Black
* @version v1.0
* @date 2019/7/21 21:33
* @description TODO
**/
public class AccountServiceImpl implements IAccountService {
//手动初始化
private IAccountDao accountDao = new AccountDaoImpl(); public void saveAccount() {
accountDao.saveAccount();
}
}

2.3 创建dao持久层接口

package com.yuank.dao;  

public interface IAccountDao {
void saveAccount();
}

2.4 创建dao持久层实现类

package com.yuank.dao.impl;  

import com.yuank.dao.IAccountDao;  

/**
* @author PC-Black
* @version v1.0
* @date 2019/7/21 21:38
* @description TODO
**/
public class AccountDaoImpl implements IAccountDao { public void saveAccount() {
System.out.println("保存账户");
}
}

2.5 创建web表现层

import com.yuank.service.IAccountService;
import com.yuank.service.impl.AccountServiceImpl;
/**
* @author PC-Black
* @version v1.0
* @date 2019/7/21 21:39
* @description TODO
**/
public class Client {
public static void main(String[] args) {
IAccountService accountService = new AccountServiceImpl();
accountService.saveAccount();
}
}

2.6 测试运行

3、创建配置文件

3.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.xsd"> </beans>

3.2 在pom文件中添加依赖,解决配置文件约束报红

<dependencies>
<!--IOC相关依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.6.RELEASE</version>
</dependency>
</dependencies>

3.3 通过spring的IOC来创建对象

<!--
1. spring会通过反射的方式创建对象,并将该对象以key和value的方式存入到IOC容器中。
2. bean标签的id就是key,value就是类的全路径
3. 通过bean标签将对象创建并存入到IOC容器的方式,我们可以称之为装配bean
4. 只要可以正常new出来的对象,都可以通过这种方式装配到IOC容器中
--> <!--将service实现类装配到IOC容器中-->
<bean id="accountService" class="com.yuank.service.impl.AccountServiceImpl"/> <!-- 将dao实现类装配到IOC容器中 -->
<bean id="accountDao" class="com.yuank.dao.impl.AccountDaoImpl"/>

3.4 加载applicationContext.xml配置文件&从spring的IOC容器中获取对象

package com.yuank.web;  

import com.yuank.dao.IAccountDao;
import com.yuank.service.IAccountService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; /**
* @author PC-Black
* @version v1.0
* @date 2019/7/21 21:39
* @description TODO
**/
public class Client {
public static void main(String[] args) {
// IAccountService accountService = new AccountServiceImpl(); //1. 加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
//2. 从容器中获取service
IAccountService accountService = (IAccountService) ac.getBean("accountService");
//2.1 打印accountService对象
System.out.println(accountService);
//3. 从容器中获取dao
IAccountDao accountDao = (IAccountDao) ac.getBean("accountDao");
//3.1 打印accountDao对象
System.out.println(accountDao); accountService.saveAccount(); }
}

3.5 运行main方法

查看控制台,我们发现对象创建成功

01Spring基于xml的IOC配置--入门的更多相关文章

  1. Spring 框架的概述以及Spring中基于XML的IOC配置

    Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...

  2. mybatis学习一:基于xml与注解配置入门实例与问题

    注:本case参考自:http://www.cnblogs.com/ysocean/p/7277545.html 一:Mybatis的介绍: MyBatis 本是apache的一个开源项目iBatis ...

  3. 02Spring基于xml的IOC配置--实例化Bean的三种方式

    maven依赖 <dependencies> <!--IOC相关依赖--> <dependency> <groupId>org.springframew ...

  4. 03-Spring基于xml的IOC配置--spring的依赖注入

    1.概念 依赖注入:Dependency Injection(简称DI注入).它是 spring 框架核心 ioc 的具体实现. 简单理解:可以在一个类中不通过new的方式依赖其它对象.目的是为了解耦 ...

  5. 阶段3 2.Spring_05.基于XML的IOC的案例1_4 注解IOC案例-把自己编写的类使用注解配置

    注解改造案例 复制之前的xml配置的pom.xml里面的依赖. 复制com文件 bean.xml配置文件也拷贝过来 测试类也复制过来 开始基于注解的IOC配置 右键项目,选择maven.选择更新 更新 ...

  6. 基于XML的AOP配置

    创建spring的配置文件并导入约束 此处要导入aop的约束 <?xml version="1.0" encoding="UTF-8"?> < ...

  7. 10 Spring框架--基于注解的IOC配置

    1.工程环境搭建 2.基于注解的IOC配置 IOC注解的分类 (1)用于创建对象的 他们的作用就和在XML配置文件中编写一个<bean>标签实现的功能是一样的@Component: 作用: ...

  8. Spring中AOP的基于xml开发和配置

    pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  9. Spring基于XML的IOC环境搭建及入门

    一.使用Maven构建Java项目 * 项目目录结构 1. 在sun.service包下创建UserDao接口和接口实现类: UserDao接口: package sun.service; /** * ...

随机推荐

  1. sqli-labs(45)

    基于报错的password处的')闭合注入 就是没有报错信息 payload和43关一样的构造

  2. Hibernate与MyBaits的区别?

    (1)Hibernate是全自动,而myBatis是半自动,Hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成SQL.而myBat ...

  3. leetcode-easy-others-461. Hamming Distance

    mycode  92.05% class Solution(object): def hammingDistance(self, x, y): """ :type x: ...

  4. DAY 5模拟赛

    DAY 5 廖俊豪神仙出题 T1 最小差异矩阵(a.cpp, a.in, a.out) [题目描述] 有一个 n*m 的矩阵,矩阵的每个位置上可以放置一个数.对于第 i 行,第 i 行的差异定义为该行 ...

  5. day3_Python基础三

    参考:http://www.cnblogs.com/jin-xin/articles/7562422.html 一.数据类型 1.1.int:用于计算,不可变,可哈希 数字主要是用于计算用的: #bi ...

  6. leetcode 94二叉树的中序遍历

    递归算法C++代码: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...

  7. Electron对JQuery的支持问题

    最近在了解Electron框架写应用,偶然发现在html中使用<script src="./jquery.js"></script>这种方式引入JQuery ...

  8. 请介绍下 adb、ddms、aapt 的作用

    adb 是 Android Debug Bridge ,Android 调试桥的意思 ddms 是 Dalvik Debug Monitor Service,dalvik 调试监视服务. aapt 即 ...

  9. 保存json数据到本地和读取本地json数据

    private void saveJson(JsonBean bean) { File file = new File(getFilesDir(), "json.txt"); Bu ...

  10. [mysql]root用户登录mysql,输入密码后报错:Access denied for user 'root'@'localhost'

    问题如下: wangju-G4:~$ mysql -u root -p Enter password: ERROR (): Access denied for user 'root'@'localho ...