spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
实现要求:
在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象,模拟实现用户的增删改操作,并将结果输出到控制台。要求如下:
- set注入方式实现对象的依赖关系。
- 增删改操作需要实现、提交和关闭操作。
事务的开启

实现思路:
在com.mhys.pojo包下,创建User类。 在com.mhys.dao包下,创建UserDao类。
package com.mhys.bean;
public class Users {
private String userId;
private String userName;
private String password;
private int age;
private String address;
private String flag;
public Users() {
super();
}
public Users(String userId, String userName, String password, int age, String address, String flag) {
super();
this.userId = userId;
this.userName = userName;
this.password = password;
this.age = age;
this.address = address;
this.flag = flag;
}
@Override
public String toString() {
return "Users [userId=" + userId + ", userName=" + userName + ", password=" + password + ", age=" + age
+ ", address=" + address + ", flag=" + flag + "]";
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
}
package com.mhys.Dao;
import com.mhys.bean.Users;
public class UsersDao {
public Users getUserById(String userId){
Users users = new Users("130006", "杨明金", "123456", 20, "云南", "1");
return users;
}
public Boolean insertUser(Users users){
System.out.println("插入数据:"+users.getUserId()+","+users.getUserName()
+","+users.getPassword()+","+users.getAge()+","
+users.getAddress()+","+users.getFlag());
return true;
}
public Boolean updataUserByid(Users users){
System.out.println("修改用户编号:"+users.getUserId()+"的密码为:"+users.getPassword());
return true;
}
public Boolean deleteUserByid(Users users){
System.out.println("删除用户编号:"+users.getUserId()+"的信息");
return true;
}
}
在com.mhys.service包下,创建UserService类。
package com.mhys.Dao;
import com.mhys.bean.Users;
public class UsersService {
private UsersDao usersDao;
public Users getUserInfoById(String userId){
Users users = usersDao.getUserById(userId);
return users;
}
public Boolean insertUserInfo(Users users) {
System.out.println("开启事务");
usersDao.insertUser(users);
System.out.println("提交事务");
System.out.println("关闭事务");
return true;
}
public Boolean updataInfo(Users users) {
System.out.println("开启事务");
usersDao.updataUserByid(users);
System.out.println("提交事务");
System.out.println("关闭事务");
return true;
}
public Boolean deleteInfo(Users users) {
System.out.println("开启事务");
usersDao.deleteUserByid(users);
System.out.println("提交事务");
System.out.println("关闭事务");
return true;
}
public UsersDao getUsersDao() {
return usersDao;
}
public void setUsersDao(UsersDao usersDao) {
this.usersDao = usersDao;
}
}
在applicationContext.xml配置文件中,注册userDao类和userService类到容器。
<bean id="users" class="com.mhys.bean.Users"></bean>
<bean id="usersDao" class="com.mhys.Dao.UsersDao"></bean>
<bean id="usersService" class="com.mhys.Dao.UsersService">
<property name="usersDao" ref="usersDao"></property>
</bean>
在com.mhys.demo.test包下,创建测试类。
package com.mhys.test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.mhys.Dao.UsersService;
import com.mhys.bean.Users;
public class T1_4_3Test {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UsersService usersService = (UsersService) context.getBean("usersService");
//查询测试
Users users1 = usersService.getUserInfoById("23");
System.out.println(users1);
//创建测试对象
Users users2 = new Users("2487", "杨明金", "123456", 20, "云南省", "1");
//添加测试
Boolean flag1 = usersService.insertUserInfo(users2);
if (flag1) {
System.out.println("插入成功!");
}
//修改测试
users1.setPassword("1111");
Boolean flag2 = usersService.updataInfo(users2);
if (flag2) {
System.out.println("修改成功!");
}
//删除测试
Boolean flag3 = usersService.deleteInfo(users2);
if (flag3) {
System.out.println("删除成功!");
}
}
}
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象的更多相关文章
- sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。
相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台.要 ...
- spring练习,使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,使用set注入方式为Bean对象注入属性值并打印输出.要求如下: ...
- 使用Eclipse搭建C/C++开发环境(转)
使用Eclipse搭建C/C++开发环境 文章出自:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2861196.html 说明:网上有很多 ...
- 基于Eclipse搭建STM32开源开发环境
最近项目不忙,想着没事看看简单的嵌入式,弄弄物联网什么的.于是就从廉价的STM32开刀了.因为一直是做PC软件开发的,那VS的智能感知那叫一个爽啊,相比之下,觉得这个Keil简直就像文本编辑器一样lo ...
- HBase学习----windows10下使用eclipse搭建HBase的开发环境
以下是我搭建HBase开发环境的一些心得(windows10) 0.安装JDK和eclipse和一个可用的HBase. 这步是最基础的,在此就不赘述了 1.创建一个java项目: 基础问题,不赘述. ...
- Ubuntu下安装C/C++开发环境【!!!有更新!!!Ubuntu14.10下使用eclipse搭建C语言开发环境】
(1)第一步安装Eclipse,有两种方法,使用软件市场搜索就可以得到,安装就可以 另外一种是使用终端安装,命令例如以下: sudo su进入root模式 输入password 然后 输入:sudo ...
- 如何用eclipse搭建Android的开发环境
l开发主要应用Eclipse 3.7版本. l辅助工具为jdk.Androidsdk Android环境搭建 –1.1.JDK安装 –1.2.Eclipse安装 –1.3.Android SDK安 ...
- Windows下用Eclipse搭建C/C++开发环境
本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的.原文资料为准. 距上一次写和调C++程序,已经5.6年了 ...
- Eclipse搭建C++\C开发环境
1.最近使用visualStudio IDE开发Unity 3D使用的编程语言是C#但是发现visualStudio12 版本在自己主机上运行速度比够快,怀疑是不是处理器或者是版本问题,所以该卸载了, ...
随机推荐
- ios加载html5 audio标签用js无法自动播放
html5 audio标签在ios 微信浏览器中是无法自动播放的,最近在做一个小的项目遇到这个问题,安卓和pc都是正常的,唯独ios不行,查阅了很多资料,找到了以下方法,也许不是最好用的方法,如果有更 ...
- 学习Oracle遇到的实际问题(持续更新)
有三个用户参与这个事情: system用户,拥有表manager. sys create了一个用户item,并赋予权限: SQL> GRANT SELECT ON SYSTEM.MANAGER ...
- ActiveMQ(二)——ActiveMQ的安装和基本使用
一:安装 2.启动之后成功 二.创建实例测试ActiveMQ 配置Maven所需的依赖 <dependency> <groupId>org.apache.activemq< ...
- C# 获取当前目录的父级目录
Directory.GetParent(System.Environment.CurrentDirectory).FullName
- MicroK8S 安装 修改IP 设置镜像加速 升级 卸载等
系统要求: Ubuntu 20.04 LTS, 18.04 LTS or 16.04 LTS或其他支持snapd的操作系统 内存:4G+ 硬盘:20G+ 官方文档 安装microk8s sudo sn ...
- xtra+binlog增量备份脚本
目录 一.备份原理 innobackupex原理 binlog原理 特点 备份策略 二.环境准备 开启binlog 创建授权用户 安装innobackupex 三.添加脚本 全量备份 增量备份 bin ...
- Linux 文件属性及详细操作
目录 Linux 文件属性 文件属性信息组成 文件属性概念说明 文件软硬链接说明 硬链接 软链接 补充知识 存储数据相关-inode/block inode: block: 读取文件原理图 Linux ...
- 【划重点】Python matplotlib绘图建立画布和坐标系
一.建立画布 import matplotlib.pyplot as plt import numpy as np x=np.arange(8) y=np.arange(8) print(x,y) # ...
- [BUUCTF]REVERSE——刮开有奖
刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...
- java 多线程:线程池的使用Executors~ExecutorService; newCachedThreadPool;newFixedThreadPool(int threadNum);ScheduledExecutorService
1,为什么要使用线程池:Executors 系统启动一个新线程的成本是比较高的,因为它涉及与操作系统交互.在这种情形下,使用线程池可以很好地提高性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更 ...