Spring框架加案例
依赖:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1..RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1..RELEASE</version>
</dependency>
学生案例一:
package cn. spring. entity;
/**
* Bean
*/
public class StudentBean {
//普通属性
private Integer stu_ id;
private String stu_ name;|
//方法
public void say(){
System. out. print1n("大家好,本人编号: "+stu_ id+"\t名字: "+stu_ name);
public Integer getStu_ id() {
return stu_ _id;
}
public void setStu_ id(Integer stu_ id) {
this.stu_ id = stu_ _id;
}
public class SpringIOC {
@Test
public void iocTest(){
//步骤一:加载配置文件applicationContext. xmL
ApplicationContext ctx=new ClassPathXm1ApplicationContext( configLocation: " applicationContext . xm1");
//步骤二:获取bean
StudentBean bean=(StudentBean) ctx. getBean( s: "studentBean");
bean.say();
}
教师案例二:
< ?xml version="1. 0" encoding="UTF-8"?>
<beans xmIns= "http://www. springfr amework . 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 .
id相当于当前bean唯一标识
class是bean的全路径
property注入bean中的属性
必须封装
--> <bean id="teacherBean
class="cn. spring . entity.TeacherBean">
property name="t_ _id" value= "" ></ property>
<property name="t_ name" value=" 刘磊" ></property>
</bean>
</beans>
* Bean
public class StudentBean {
//普通属性
private Integer stu_ id;
private String stu_ name;
//域属性
private TeacherBean teacherBean;
public TeacherBean getTeacherBean() {
return teacherBean ; ,
public void setTeacherBean(TeacherBean teacherBean) {
this . teacherBean = teacherBean;
|}
打印机案例三:
/*
Ink 墨盒接口
*/
public interface Ink {
//获取墨盒颜色
public String getInk();
} /
**
*彩色墨盒实现类
*/
public class ColorInk implements Ink{
@Override
public String getInk() {
return "彩色";
} /**
*黑白墨盒实现类
*/
public class GrayInk implements Ink{
public String getInk() {
return” 黑白";
} /**
*纸张接口
/
public interface Paper {
//获取纸张大小
public String getPaper();|
} /**
* A4实现类.
*/
public class A4Paper implements Paper{
public String getPaper() {
return "A4";
}
} /**
*B5实现类
*/
public class B5Paper implements Paper{
public String getPaper(){
retuen "B5";
}
} /**
*打印机类
*/
public class Printer {
//纸张对象
private Paper paper;
//墨盒对象
private Ink ink;
//打印方法
public void print(){
System. out . print1n("您正在使用: "+paper . getPaper( )+"纸张和"
}
public Paper getPaper() {
} <!--注入彩色墨盒
Bean的注入都是实现类-->
<bean id="colorInk" class="cn. spring。print. ink. ColorInk"></bean>
<bean id="grayInk" class="cn. spring. print . ink . GrayInk"></bean>
<!--注入纸张-->
<bean id="a4Paper" class="cn. spring . print.paper.A4Paper"></bean>
bean id="b5Paper" class="cn. spring. print. paper. B5Paper"></bean>
<!--打印机-->
<bean id="printer" class="cn. spring. print. printer . Printer">|
<!--将纸张和墨盒组合起来-->
property name="paper" ref= "b5Paper"></property>
<property name="ink" ref=" grayInk" ></ property>
</bean> public class PrinterTest {
public static void main(String[] args) {
//步骤- :加载配置文件
ApplicationContext context=new ClassPathXmlApplicationContext( configLocation: " applicationContext . xml");
//调用bean
Printer printer = (Printer) context. getBean( s: "printer");
printer . print();|
}
Spring框架
Spring是最受欢迎的轻量级的企业级Java应用程序开发框架;Spring框架的 核心特性可以用于开发任何Java应用程序,但是在JavaEE平台上构建Web应 用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通 过启用基于POJO编程模型来促进良好的编程实践
Spring核心概念
I控制反转IoC:
Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。
依赖注入DI:
DI—Dependency Injection,即“依赖注入”:组件之间依赖关系由容器在运行期决定,形象的说,即由容器动态的将某个依赖关系注入到组件之中。依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。
Spring框架加案例的更多相关文章
- spring框架加载完成后执行上下文刷新事件(ContextRefreshedEvent)
目前spring框架是j2ee比较常用的项目开发技术,只需在web.xml文件中进行少许配置即可,代码如下所示:<!--spring的配置文件--><context-param> ...
- 1.Spring框架入门案例
一.简单入门案例 入门案例:IoC 1.项目创建与结构 2.接口与实现类 User.java接口 package com.jd.ioc; /** * @author weihu * @date 201 ...
- SSM之Spring框架--->>墨盒案例
分析: 程序中包括打印机(Printer).墨盒(Ink).和纸张(Paper).三类组件 首先创建一个新项目文件Spring_Box 我们来定义墨盒和纸张的接口类 墨盒接口Ink.java文件内容如 ...
- Spring框架学习之第2节
传统的方法和使用spring的方法 使用spring,没有new对象,我们把创建对象的任务交给了spring的框架,通过配置用时get一下就行. 项目结构 applicationContext.xml ...
- Spring框架学习之第1节
spring快速入门 ① spring是什么? Struts是web框架(jsp/action/actionform) hibernate是orm框架(对象和关系映射框架),处于持久层 sprin ...
- Spring 框架 详解 (二)
Spring的入门的程序: 1.1.1 下载Spring的开发包: spring-framework-3.2.0.RELEASE-dist.zip ---Spring开发包 * docs :sprin ...
- 极简SpringBoot指南-Chapter01-如何用Spring框架声明Bean
仓库地址 w4ngzhen/springboot-simple-guide: This is a project that guides SpringBoot users to get started ...
- spring框架学习笔记7:事务管理及案例
Spring提供了一套管理项目中的事务的机制 以前写过一篇简单的介绍事务的随笔:http://www.cnblogs.com/xuyiqing/p/8430214.html 还有一篇Hibernate ...
- Spring 框架基础(03):核心思想 IOC 说明,案例演示
本文源码:GitHub·点这里 || GitEE·点这里 一.IOC控制反转 1.IOC容器思想 Java系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...
随机推荐
- Session中清除对象方法比较
转载. https://blog.csdn.net/u014401141/article/details/51816308 Session中清除对象方法比较 http://blog.csdn.ne ...
- 稀疏数组(java实现)
1.稀疏数组 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组. 稀疏数组的处理方法是: 1.1记录数组一共有几行几列,有多少个不同的值 1.2把具有不同值的元素的行列 ...
- Hystrix【入门】
公共依赖配置: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr ...
- STM32之串口硬件连接图
笔记本USB转串口实物连接图: 电路连接图:
- [Luogu5280][ZJOI2019]线段树(线段树+DP)
https://www.luogu.org/blog/Sooke/solution-p5280 首先想到对线段树上每个点分别维护有多少棵线段树在它上有标记(f[]),然后想到对于每个操作,根据转移的不 ...
- java 随机生成4位随机数
java 随机生成4位的随机数测试类 @org.junit.Testpublic void testRandom(){ String msg="您的注册码为%s,谢谢注册!"; S ...
- csredis
源码地址:https://github.com/2881099/csredis 1.增加了 CSRedisClient 现实集群与连接池管理,和 RedisHelper 静态类快速上手 //普通模式 ...
- 每周分享五个 PyCharm 使用技巧(三)
文章首发于 微信公众号:Python编程时光 PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能. 一个每天都在使用的工具,如果能掌 ...
- element-ui 省市区联动组件 el-cascader
<el-form-item label="省市 :" prop="description"> <el-cascader size=" ...
- uni-app 入门之 nvue (weex) 爬坑记
前言 uni-app 是 DCloud 出品的新一代跨端框架,可以说是目前跨端数最多的框架之一了,目前支持发布到:App(Android/iOS).H5.小程序(微信小程序/支付宝小程序/百度小程序/ ...