Spring——基於註解方式的依賴注入

  首先先了解其中的註解都是做什麼的,用在什麼地方:

  @Autowired 自動按照類型依賴注入,可以對成員變量,方法及構造函數進行標註      

  @Resource     自動按照名稱依賴注入,可以對成員變量,方法及構造函數進行標註

  @Controller    通常標註控制層

  @Service          通常標註業務層

  @Repository     通常標註數據訪問層(DAO

  @Component    泛指組件,用於不好分類是的標註

  @Scope             bean的作用域(property

  下面是基於Set方法的例子:

  D層的實現類:

package com.spring.dao;

import org.springframework.stereotype.Repository;

@Repository("userDao")
public class UserDaoImpl implements UserDao {
	@Override
	public void addUser() {
		System.out.println("addUser");		
	}
	
}
  Service的實現類:

package com.spring.service;

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.spring.dao.UserDao;

@Service("userService")
public class UserServiceImpl implements UserService {
	private UserDao userDao;
	@Autowired 
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
	@Override
	public void addUser() {
		userDao.addUser();
	}
}

  Client類:

package com.spring.client;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.spring.config.ApplicationConfig;
import com.spring.service.UserService;
import com.spring.service.UserServiceImpl;

public class Client {

	public static void main(String[] args) {
		AnnotationConfigApplicationContext applicatioinContext=
				new AnnotationConfigApplicationContext(ApplicationConfig.class);
		UserService userService=
				applicatioinContext.getBean("userService",UserService.class);
		userService.addUser();
		
	}

}
  配置類:

package com.spring.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan(basePackages={"com.spring"})
public class ApplicationConfig {
}










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章