Spring框架DI(依赖注入)使用javaConfig实现DI

添加Spring依赖

 <properties>
    <!-- spring 版本号 -->
    <spring.version>5.2.8.RELEASE</spring.version>
</properties>
<dependencies>
    <!-- 此依赖会关联引用Spring中的所有基础jar包 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
</dependencies>

创建dao接口与实现类

public interface UserDao {
 User getUser();
}

public class UserDaoImpl implements UserDao {
@Override
public User getUser() { 
	return new User(1,"zhangsan");
}
}	

创建service接口与实现类

public interface UserService {
	 User getUser();
}

public class UserServiceImpl implements UserService {
UserDao userDao ;
public UserDao getUserDao() {
	return userDao;
}
public void setUserDao(UserDao userDao) {
	this.userDao = userDao;
}
//业务
@Override
public User getUser() { 
	return userDao.getUser();
}
}

创建javaConfig类

@Configuration
public class JavaConfig {

 @Bean
 public UserDao userDao() {
	 return new UserDaoImpl();
 }

 @Bean
 public UserService userService() {
	 UserServiceImpl userService =  new UserServiceImpl();
	 
	 userService.setUserDao(userDao());
	 return userService;
 }
}

创建Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
                http://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context 
                http://www.springframework.org/schema/context/spring-context.xsd
                http://www.springframework.org/schema/aop 
                http://www.springframework.org/schema/aop/spring-aop-4.1.xsd">

<!--  开启注解扫描,设置需要扫描的包 
 context:component-scan  用于指定要扫描的包及其子包。它允许Spring自动检测应用程序中的Java类,
 并将它们注册为Spring应用程序上下文中的bean。 -->
<context:component-scan base-package="com.neuedu"/>

</beans>

测试

@org.springframework.stereotype.Controller
public class Controller {

public static void main(String[] args) {		
	//读取Spring配置文件,获取Spring容器
    //通过Spring容器的getBean方法获得对象
	ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
	UserService service = (UserService) context.getBean("userService");
	User user = service.getUser();
	System.out.println(user);
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值