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系统中对象耦合关系十分复杂,系统的各模块之间依赖,微服务模块之间的相互调用请求,都是这个道理. ...
随机推荐
- URI和URL的关系与区别
首先给大家举个例子,有一家公司的总经理,某天,给了我一张名片,上面写了他的头衔,北京XXX公司总经理 张三,还有他的办公室地址,北京市海淀区长安街35号北京XXX公司总经理办公室,那么,我以后给我的朋 ...
- (一)Spring Security Demo 登陆与退出
文章目录 配置springSecurityFilterChain过滤器 配置身份验证 加载配置 登陆项目 退出 下面的代码需要spring环境的支持: 看这个系列博客之前,需要这个博客,大概了解下 s ...
- Python10之列表1(创建列表和列表添加元素的方法)
一.创建列表 列表名 = [’元素一‘,’元素二‘,’元素三‘,’元素四‘] 列表中的元素可以是任何类型,甚至可以是一个列表. list1 = ['詹姆斯','戴维斯','保罗乔治','字母哥',in ...
- Linux基础-06-vi编辑器
1. vi编辑器简介 1) vi的定义:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类型的正文编辑器,它可以用来创建和修改正文文件. 2. vi编辑器的操作模式 vi编 ...
- Python--递归函数实现:多维嵌套字典数据无限遍历
原创:多层嵌套字典无限遍历,实现当value值以特殊字符$开头,并且等于某项值时,用随机函数替换该参数 """处理前的字典{'patient': {'avatarPic' ...
- vue 下拉刷新数据的插件的使用:
1.安装: npm i vue-scroller -S npm install vue-scroller -D 2.在需要加载的页面中引入,或在公共js文件中引入: import VueScrolle ...
- Sping Aop日志实现(六)--日志查询功能
最终效果: 日志查询流程分析: Controller代码: Mapper:
- 解决webpack4.x使用autoprefixer 无效
安装 npm i webpck webpack-cli style-loader postcss-loader -D 配置 webpack.config.js module: { rules: [{ ...
- 记一次纯sqlite数据库的小项目开发经历
sqlite有哪些坑 1.支持的数据量级:根据SQLite的官方提示:http://www.sqlite.org/limits.htmlSQLIte数据库最大支持128TiB(140 terabyte ...
- hdu.. 基础二分的精度问题
#include<stdio.h>#include<iostream>using namespace std;double f(double x){ return 8*x*x* ...