徐徐爱coding
  • 首页
  • 爱情买卖
  • 导航
  • 私语
  • 友情链接
  • 关于
    关于本站
    知识库
    弹钢琴
徐徐爱coding

徐徐爱coding

徐徐爱coding是一个个人博客站点,记录编程经历的点点滴滴,分享自己的所见与所得,坚持自己的初心,践行自己的梦想生活不是等着暴风雨过去,而是学会在风雨中跳舞!

Copyright © 2023 徐徐爱coding All Rights Reserved.
陕公网安备61019602000456陕ICP备2023007787号-2

网站已稳定运行

三层架构基于xml的自动装配

三层架构基于xml的自动装配

徐徐
后端
#Java
1 热度0 评论0 点赞
发布于2023-09-25 01:14:44
🌺前言
spring之三层架构基于xml的自动装配

1.手动装配

xml
<bean id="userController" class="com.study.spring.controller.UserController">
    <property name="userService" ref="userService"></property>
</bean>
<bean id="userService" class="com.study.spring.service.impl.UserServiceImpl">
    <property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.study.spring.dao.impl.UserDaoIml"></bean>
java
controller
public class UserController {
    UserService userService;

    public UserService getUserService() {
        return userService;
    }

    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    public void saveUser(){
        userService.saveUser();
    }
}
java
service
public class UserServiceImpl implements UserService {
    UserDao userDao;

    public UserDao getUserDao() {
        return userDao;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public void saveUser() {
        userDao.saveUser();

    }
}
java
dao
public class UserDaoIml implements UserDao {
  public void saveUser(){
    System.out.println("保存成功");
  }
}
java
public void test(){
    ApplicationContext ioc = new ClassPathXmlApplicationContext("autoWired.xml");
    UserController controller = ioc.getBean(UserController.class);
    controller.saveUser();
}

2.自动装配

ioc会为bean的接口或者类类型自动匹配其他bean,自动赋值 需要配置bean的属性autowire指定自动装配类型 default,no表示说不自动装配. byType:根据类型匹配.常用 a.找到多个报错, b.一个都没匹配到则不赋值,使用默认值null c.所以有且一个要匹配

xml
  <bean id="userController" class="com.study.spring.controller.UserController" autowire="byType">
<!--        <property name="userService" ref="userService"></property>-->
    </bean>
    <bean id="userService" class="com.study.spring.service.impl.UserServiceImpl" autowire="byType">
<!--        <property name="userDao" ref="userDao"></property>-->
    </bean>
    <bean id="userDao" class="com.study.spring.dao.impl.UserDaoIml"></bean>

byName: 就是根据要赋值的属性名去匹配id

xml
 <bean id="userController" class="com.study.spring.controller.UserController" autowire="byName">
<!--        <property name="userService" ref="userService"></property>-->
    </bean>
    <bean id="userService" class="com.study.spring.service.impl.UserServiceImpl" autowire="byName">
<!--        <property name="userDao" ref="userDao"></property>-->
    </bean>
    <bean id="userDao" class="com.study.spring.dao.impl.UserDaoIml"></bean>

目录

  • 1.手动装配
  • 2.自动装配
文章最后更新于 2024-08-30 16:46:45
作者:徐徐
版权声明:转载请注明文章出处
留言
暂无数据

~~空空如也