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 版本在自己主机上运行速度比够快,怀疑是不是处理器或者是版本问题,所以该卸载了, ...
随机推荐
- rem.js,移动多终端适配
window.onload = function(){ /*720代表设计师给的设计稿的宽度,你的设计稿是多少,就写多少;100代表换算比例,这里写100是 为了以后好算,比如,你测量的一个宽度是10 ...
- HDFS初探之旅(二)
6.HDFS API详解 Hadoop中关于文件操作类疾病上全部在"org.apache.hadoop.fs"包中,这些API能够支持的操作包含:打开文件.读写文件.删除文件等. ...
- 格式化代码(Eclipse 格式化代码块快捷键:Ctrl+Shift+F)
1.格式化java代码 : ①Ctrl+Shift+F 但是我们会遇到按 Ctrl+Shift+F不起作用的时候? Ctrl+Shift+F 在搜狗拼音里是简繁替换.一旦安装搜狗拼音这个快 ...
- Linux基础命令---mailq显示邮件队列
mailq mailq指令可以显示出待发送的邮件队列. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 mailq 2.选项参数列表 ...
- zabbix之被动模式之编译安装proxy
#:准备源码包,编译安装 root@ubuntu:/usr/local/src# ls zabbix-4.0.12.tar.gz root@ubuntu:/usr/local/src# tar xf ...
- maven项目install时忽略执行test
1.在项目所在文件夹根目录使用maven命令打包时: <!-- 不执行单元测试,也不编译测试类 --> mvn install -Dmaven.test.skip=true 或 <! ...
- 【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现 基本界面设置 创建Slice与对应xml BarAbilitySlice package com.example.myapplication.sli ...
- <转>单机版搭建Hadoop环境
安装过程: 一.安装Linux操作系统 二.在Ubuntu下创建hadoop用户组和用户 三.在Ubuntu下安装JDK 四.修改机器名 五.安装ssh服务 六.建立ssh无密码登录本机 七.安装ha ...
- N1BOOK——[第五章 CTF之RE章]wp
推荐在了解了相应章节的内容后再来练习,你会觉得顿时悟了 记录一下自己的解题过程 2,3,4题目附件来源:https://book.nu1l.com/tasks/#/pages/reverse/5.4 ...
- .NET6中一些常用组件的配置及使用记录,持续更新中。。。
NET6App 介绍 .NET 6的CoreApp框架,用来学习.NET6的一些变动和新特性,使用EFCore,等一系列组件的运用,每个用单独的文档篇章记录,持续更新文档哦. 如果对您有帮助,点击右上 ...