注解版依赖注入

. xml配置依赖注入的方式:可阅读性比较差
步骤:
1.数据访问层实现类注解
@Repository(“userDao”)

import org.springframework.stereotype.Repository;


import com.oupeng.dao.UserDao;
import com.oupeng.pojo.User;

@Repository("userdao")   //相当于配置中<bean id="userdao" class="com.oupeng.dao.impl.UserDaoImpl"/>
public class UserDaoImpl implements UserDao{

	@Override
	public int save(User user) {
		System.out.println("保存用户到数据库成功.....");
		System.out.println("保存用户到数据库成功....");
		System.out.println(user.getId());
		System.out.println(user.getUserName());
		System.out.println(user.getPassword());
		System.out.println(user.getEmail());
		return 1;
	}
   
}

2.业务逻辑层实现类注解
@Service(“userService”)

@Autowired
@Qualifier("userDao")    //spring里提供
或者
@Resource(name="userDao")   //java提供
package com.oupeng.service.impl;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

import com.oupeng.dao.UserDao;
import com.oupeng.pojo.User;
import com.oupeng.service.UserService;


/*相当于<bean id="userService" class="com.oupeng.service.impl.UserServiceImpl">
</bean>*/
@Service("userService")
public class UserServiceImpl implements UserService {
     //注入数据访问层
	/**
	 * 之前:UserDaoImpl ud=new UserDaoImpl();
	 * ud.save(user);
	 */
	
	//Spring
	/*相当于p:ud-ref="userdao" p:str="哈哈"*/
	@Autowired      //默认按照类型
	@Qualifier("userdao")     //按照名称
	
	
	//@Resource(name="userdao")
	UserDao ud;
	String str;
	public String getStr() {
		return str;
	}

	public void setStr(String str) {
		this.str = str;
	}

	//默认构造方法
	public UserServiceImpl(){
		System.out.println("业务逻辑类的默认构造方法");
	}
	
	//带参数构造方法
	public UserServiceImpl(UserDao _ud,String _str){
		this.ud=_ud;
		this.str=_str;
	}
	
	
	public UserDao getUd() {
		return ud;
	}

	public void setUd(UserDao ud) {
		this.ud = ud;
	}

	public void addNewUser(User user) {
		ud.save(user);
		System.out.println(this.str);
		//throw new RuntimeException("对不起,程序发生了运行时异常,请联系管理员...");
	}

	


}

3.自动扫描注解所在的包

<context:component-scan base-package="com.oupeng.dao.impl,com.oupeng.service.impl"></context:component-scan>

4.测试

@Test
	    public void testService() {
	      ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");	
	      UserService ud=(UserService) context.getBean("userService");
	      /*User user=new User();
	      user.setUserName("曹操");
	      user.setPassword("565566");
	      user.setEmail("256@163.com");
	      user.setId(001);*/
	      User user= (User) context.getBean("user");
	      ud.addNewUser(user);
          
	    }

执行结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值