spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象

简介: spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象

实现要求:


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


set注入方式实现对象的依赖关系。

增删改操作需要实现、提交和关闭操作。

事务的开启


26.png


实现思路:


在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("删除成功!");
    }
  }
}



相关文章
|
10月前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
950 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
11月前
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
824 26
|
6月前
|
Java 应用服务中间件 Maven
第01课:Spring Boot开发环境搭建和项目启动
第01课:Spring Boot开发环境搭建和项目启动
1327 0
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
374 12
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
516 12
|
缓存 Java Spring
实战指南:四种调整 Spring Bean 初始化顺序的方案
本文探讨了如何调整 Spring Boot 中 Bean 的初始化顺序,以满足业务需求。文章通过四种方案进行了详细分析: 1. **方案一 (@Order)**:通过 `@Order` 注解设置 Bean 的初始化顺序,但发现 `@PostConstruct` 会影响顺序。 2. **方案二 (SmartInitializingSingleton)**:在所有单例 Bean 初始化后执行额外的初始化工作,但无法精确控制特定 Bean 的顺序。 3. **方案三 (@DependsOn)**:通过 `@DependsOn` 注解指定 Bean 之间的依赖关系,成功实现顺序控制,但耦合性较高。
927 4
实战指南:四种调整 Spring Bean 初始化顺序的方案
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
421 6
|
XML Java 数据格式
🌱 深入Spring的心脏:Bean配置的艺术与实践 🌟
本文深入探讨了Spring框架中Bean配置的奥秘,从基本概念到XML配置文件的使用,再到静态工厂方式实例化Bean的详细步骤,通过实际代码示例帮助读者更好地理解和应用Spring的Bean配置。希望对你的Spring开发之旅有所助益。
508 4
|
安全 Java 开发者
Spring容器中的bean是线程安全的吗?
Spring容器中的bean默认为单例模式,多线程环境下若操作共享成员变量,易引发线程安全问题。Spring未对单例bean做线程安全处理,需开发者自行解决。通常,Spring bean(如Controller、Service、Dao)无状态变化,故多为线程安全。若涉及线程安全问题,可通过编码或设置bean作用域为prototype解决。
317 1

推荐镜像

更多