spring框架学习日志一
一、简介
1.对spring框架的简单理解
可以理解为它是一个管理对象的创建、依赖、销毁的容器
Spring 是一个开源框架. Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.
Spring 是一个 IOC(DI) 和 AOP 容器框架.
2.具体描述 Spring
轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API
依赖注入(DI --- dependency injection、IOC)
3.面向切面编程(AOP --- aspect oriented programming)
容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期
框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象
一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)
二、spring创建的步骤,建立一个简单的demo
1.加入依赖的jar包

2.创建dao类,并实现接口
public interface Dao {
    public void add();
    public void update();
    public void delete();
    public void findById();
}
public class OracleDao implements Dao {
    public void add() {
        System.out.println("Oracle添加");
    }
    public void update() {
        System.out.println("Oracle修改");
    }
    public void delete() {
        System.out.println("Oracle删除");
    }
    public void findById() {
        System.out.println("Oracle查询");
    }
}
3.建立service进行方法调用
public class Service {
    //以前这样写
    //private MysqlDao mdao=new MysqlDao();//硬编码,不能扩展   需要借助spring
        private Dao mdao; //这里不再需要自己new新的对象
        public void show() {
            System.out.println("show===");
            mdao.delete();
        }
        public void setMdao(Dao mdao) {
            this.mdao = mdao;
        }
}
4.加入配置文件

<?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"> <!--
管理类:类的创建以及属性的注入
bean:表示管理的类标签
class:具体的类
id:标注该标签
ref:要与id的值相同,这里没用value是因为其后跟的是对象
-->
<bean id="mysql" class="com.zhiyou100.xz.dao.MysqlDao"></bean>
<bean id="orcale" class="com.zhiyou100.xz.dao.OracleDao"></bean> <bean id="s" class="com.zhiyou100.xz.service.Service">
<property name="mdao" ref="orcale"></property>
</bean>
</beans>
5.测试
public class Test {
       public static void main(String[] args) {
         //以前:
//           Service s=new Service();
//           s.show();
           //现在都由spring容器来管理你的对象。用bean标签
         //加载spring配置文件
        ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取指定的类对象
        Service s=(Service) app.getBean("s");//强转
        s.show();
       }
}
spring框架学习日志一的更多相关文章
- Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建
		
之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过I ...
 - Spring框架学习一
		
Spring框架学习,转自http://blog.csdn.net/lishuangzhe7047/article/details/20740209 Spring框架学习(一) 1.什么是Spring ...
 - spring框架学习(三)junit单元测试
		
spring框架学习(三)junit单元测试 单元测试不是头一次听说了,但只是听说从来没有用过.一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的.学 ...
 - Spring框架学习1
		
AnonymouL 兴之所至,心之所安;尽其在我,顺其自然 新随笔 管理 Spring框架学习(一) 阅读目录 一. spring概述 核心容器: Spring 上下文: Spring AOP ...
 - spring 框架学习网站
		
spring 框架学习网站 NO1 http://www.mkyong.com NO2 https://spring.io/docs/reference
 - Spring框架学习之IOC(二)
		
Spring框架学习之IOC(二) 接着上一篇的内容,下面开始IOC基于注解装配相关的内容 在 classpath 中扫描组件 <context:component-scan> 特定组件包 ...
 - Spring框架学习之IOC(一)
		
Spring框架学习之IOC(一) 先前粗浅地学过Spring框架,但当时忙于考试及后期实习未将其记录,于是趁着最近还有几天的空闲时间,将其稍微整理一下,以备后期查看. Spring相关知识 spri ...
 - Spring框架学习笔记(5)——Spring Boot创建与使用
		
Spring Boot可以更为方便地搭建一个Web系统,之后服务器上部署也较为方便 创建Spring boot项目 1. 使用IDEA创建项目 2. 修改groupid和artifact 3. 一路n ...
 - Spring框架学习总结(上)
		
目录 1.Spring的概述 2.Spring的入门(IOC) 3.Spring的工厂类 4.Spring的配置 5.Spring的属性注入 6.Spring的分模块开发的配置 @ 1.Spring的 ...
 
随机推荐
- Windows内核开发-4-内核编程基础
			
Windows内核开发-4-内核编程基础 这里会构建一个简单但是完整的驱动程序和一个客户端,部署内核执行一些平时user下无法执行的操作. 将通过以下内容进行讲解: 1 介绍 2 驱动初始化 3 Cr ...
 - 【LeetCode】933.最近的请求次数
			
933.最近的请求次数 知识点:队列: 题目描述 写一个 RecentCounter 类来计算特定时间范围内最近的请求. 请你实现 RecentCounter 类: RecentCounter() 初 ...
 - python之数据驱动Txt操作
			
一.新建数据Mail163.txt文本 二.Txt_Mail163.py脚本如下: import unittestfrom selenium import webdriverfrom selenium ...
 - springboot-5-持久层技术
			
整合mybatis 流程: 导入依赖: 除了mybaits还有mysql和jdbc依赖 <!--mybatis--> <dependency> <groupId>o ...
 - 图像旋转的FPGA实现(一)
			
继续图像处理专题,这次写的是图像旋转.若要说小分辨率的图像旋转倒也简单,直接将原始图像存储在BRAM中,然后按照旋转后的位置关系取出便是.但是对于高分辨的图像(720P及以上)就必须得用DDR3或者D ...
 - DRF使用JWT进行用户认证
			
1. 首先需要安装第三方依赖包 pip install djangorestframework-jwt 2. 在Django的settings文件中 配置全局的JWT认证类 REST_FRAMEWOR ...
 - 解决IDEA右侧maven不显示方法
			
解决IDEA右侧maven不显示方法 Ctrl+shift+A --> maven--> add maven projects -->选择对应的pom.xml
 - Vue--之调试
			
vue.文件的调试 方法:在chrome浏览器中,F12,在Sources中ctrl+F 查找leftMenu.vue, 打断点,F8完成加载
 - webSocket实现多人聊天功能
			
webSocket实现多人在线聊天 主要思路如下: 1.使用vue构建简单的聊天室界面 2.基于nodeJs 的webSocket开启一个socket后台服务,前端使用H5的webSocket来创建一 ...
 - 【阿菜读论文】ContractFuzzer:fuzzing方法挖掘智能合约漏洞
			
论文简介 论文标题:ContractFuzzer: Fuzzing Smart Contracts for Vulnerability Detection 论文链接:ContractFuzzer: F ...