Java EE---Spring框架创建Account小项目
使用Spring建立项目Account(初识dao、service、controller三者关系)
- 题目
1、使用Spring IOC/DI 模拟添加账户功能,程序设计涉及:
(1)Account类:账户类,包括属性name、id,并为所有属性生成get和set方法。
(2)AccountDao类:模拟数据库访问,方法void save(Account a)实现打印输出“添加的用户信息为:name=***,id=***”。
(3)AccountService类:模拟业务逻辑访问,包含属性对象AccountDao dao方法void save(Account a)通过调用AccountDao类中的save方法模拟完成用户信息的添加,并为属性生成set方法。
(4)AccountController类:模拟控制层,包含属性对象AccountService service和方法void save(Account a)调用AccountService类中的save方法模拟完成用户信息的添加,并为属性生成set方法。
(5)对以上(2)、(3)、(4)类的使用IOC容器实例化,对(1)类使用new实例化;并使用DI将AccountDao类对象注入进AccountService类中,将AccountService类对象注入进AccountController类中。
(6)Test类测试,完成name=“刘” id=’”1999”的账户添加。
1. 创建项目
2. 导入jar包并应用
- 选中工程右键如图
- 点击Add JARs
- 选择你放入lib文件夹下的jar包(需自己下载jar包并放入lib文件夹下)导入并应用即可
3. Account 类代码
package com.ioc.entity;public class Account {String name;String id;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}}
4. Account Dao类代码
package com.ioc.dao;import com.ioc.entity.Account;public class AccountDao {public void save (Account a) {System.out.println("添加用户信息为:name="+a.getName()+"id="+a.getId());}
}
5.AccountService类代码
package com.ioc.service;import com.ioc.dao.AccountDao;
import com.ioc.entity.Account;public class AccountService {AccountDao dao;public AccountDao getDao() {return dao;}public void setDao(AccountDao dao) {this.dao = dao;}public void save(Account a) {dao.save(a);}}
6.AccountController类代码
package com.ioc.controller;import com.ioc.entity.Account;
import com.ioc.service.AccountService;public class AccountController {AccountService service;public AccountService getService() {return service;}public void setService(AccountService service) {this.service = service;}public void save(Account a) {service.save(a);}}
7.test类代码
package com.ioc.test;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;import com.ioc.controller.AccountController;
import com.ioc.entity.Account;public class test {public static void main(String [] args) {//意义:ApplicationContext context = new FileSystemXmlApplicationContext("src/applicationContext.xml") ;AccountController c=(AccountController) context.getBean("c1");Account a =new Account();a.setName("刘");a.setId("1999");c.save(a);}
}
8.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/beanshttps://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 使用spring来创建对象,在spring中这些都会成为Bean
bean相当于new了一个对象=========Hello h2 =new hello();
id=变量名
class=new的对象
property标签相当于给对象中的属性设置一个值=======h2.set("****");--><bean id="d1" class="com.ioc.dao.AccountDao"></bean>
<bean id="s1" class="com.ioc.service.AccountService">
<!-- 将AccountDao类对象注入进AccountService类中 --><property name="dao" ref="d1"/>
</bean>
<bean id="c1" class="com.ioc.controller.AccountController">
<!-- 将AccountService类对象注入AccountController类中 --><property name="service" ref="s1"/>
</bean>
</beans>
9.输出结果
笔记
- Spring ioc的核心思想是将所有类的控制权转交到xml文件中,减少各个类之间的耦合度,使程序更加健壮。
- xml文件的作用是它可以为每一个在xml文件登记过(bean过)的类初始化对象并赋值,也就是实例化和装配。然后根据各个类的需要给予其他类的对象然后销毁。
- 关于Account、AccountDao、AccountService、AccountController之间的关系:Account类是负责最基础的创建基本的类属性;而dao层则是逻辑层,其中大部分代码都在这里实现;Service层是服务层,它会定义一个dao的属性并继承dao的属性;而Controller层是控制层,在xml文件中基本上是获取Controller层的一个对象再逐层控制service、dao层。
- 且每一个类定义一个属性都要为其设置getter和setter方法。
- xml文件是配置文件,它主要的属性是beans,其子属性bean的作用是实例化对象,其子子属性value是为bean实例化的类赋值。
- 个人认为控制反转(IoC)就是将各个类创建实例化的权限交给xml文件来使类被动创建对象。依赖注入(DI)就是资源注入,通俗来讲就是赋值。
Java EE---Spring框架创建Account小项目相关推荐
- Java EE---使用Spring框架创建Market小项目
通过Spring的IoC和DI思想创建一个小项目便于理解spring 题目: 1.使用Spring IOC/DI 模拟某超市管理功能,程序设计涉及: (1)Product类(商品类):含id(商品编号 ...
- Java EE---使用Spring框架创建Department小项目
Department 1.项目清单 2.代码 2.1. Department类代码 2.2. departmentfactory类代码 2.3. Project类代码 2.4. Employee类代码 ...
- 《Java EE 轻量级框架应用与开发——S2SH》笔记
嗯,那本书看完了,但是还没有整理完笔记,不太愿意在电脑旁太久,总会看到她,嗯,所以大部分时间在图书馆,只能刷这本书,哎,这些时日,大概是我一生中仅有的阴霾吧,我希望如此,不知道,希望早些赚钱,以此偿还 ...
- 《Java EE核心框架实战》—— 2.3 resultMap 标签
本节书摘来异步社区<Java EE核心框架实战>一书中的第2章,第2.3节,作者: 高洪岩,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 < re ...
- java 自动装载_java_详解Java的Spring框架下bean的自动装载方式,Spring容器可以自动装配相互协 - phpStudy...
详解Java的Spring框架下bean的自动装载方式 Spring容器可以自动装配相互协作bean之间的关系,这有助于减少对XML配置,而无需编写一个大的基于Spring应用程序的较多的和元素. 自 ...
- java ee核心框架实战 pdf_Java EE核心框架实战 高洪岩 中文PDF
资源名称:Java EE核心框架实战 高洪岩 中文PDF 第1章 MyBatis 3操作数据库 第2章 MyBatis 3常用技能 第3章 Struts 2必备开发技能 第4章 Struts 2文件的 ...
- executor线程池框架_如何使用Java 5 Executor框架创建线程池
executor线程池框架 Java 5以Executor框架的形式在Java中引入了线程池,它允许Java程序员将任务提交与任务执行分离. 如果要使用Java进行服务器端编程,则线程池是维护系统可伸 ...
- 如何使用Java 5 Executor框架创建线程池
Java 5以Executor框架的形式在Java中引入了线程池,它允许Java程序员将任务提交与任务执行分离. 如果要使用Java进行服务器端编程,则线程池是维护系统可伸缩性,鲁棒性和稳定性的重要概 ...
- Java EE之idea创建和运行jsp项目
1.点击打开Inteliij点击Create New Project 2.点击java,再左侧Project SDK选择安装的jdk路径,勾选WebApplication和Create web.xml ...
最新文章
- 如何修改Linux主机名
- 网络推广外包没有效果?很可能是在网络推广外包基础上出现问题!
- TouTiao开源项目 分析笔记7 加载数据的过程
- java function获取参数_「Java容器」ArrayList源码,大厂面试必问
- 捞人宝估值数亿,已捞出数位大佬,商业模式已验证!
- android获取手机的IMSI码
- HttpClient工具类 HttpClientUtils.java
- 二叉树的常用操作(节点的后继节点)
- 微软总裁呼吁:AI刷脸,美国政府该管一管了
- DataSet之间的赋值
- 用swing开发 震撼的CSDN用户关系图(转)和基于JMF的java rpg入门游戏
- 坦克大战之声音处理类(四)
- 未来不迎,当下不杂,过往不恋
- 三星S9微信和服务器怎么连接,三星s9 微信在后台为什么收不到消息 | 手游网游页游攻略大全...
- HTTP/3 ,它来了。
- SV学习(8)——随机约束和分布、约束块控制
- python爬取贝壳找房之北京二手房源信息
- CentOS设置开机自动执行指定命令
- 堆栈溢出:Stack overflow (参数: 0x0000000000000001, 0x0000005410A03FF8)
- GitHub标星23K!Java 实战博客项目分享