springboot20180514-依赖注入

spring依赖注入的方式,系统bean的注入可以参考上一篇博客,本节主要讨论业务bean的注入

业务bean的注入最主要的方式通过注解,首先是类的注解

@Component——注入第三方组件

package study.aspect;

import org.springframework.stereotype.Component;
/**
 * 通过component注解来实现
 * @author 13151
 *
 */
@Component("userDao")
public class UserAspect {
	
}

@Repository——注入数据访问层

package study.dao;

import org.springframework.stereotype.Repository;

@Repository
public class OrderDao {

}

@Service——注入业务逻辑层

package study.service;

import javax.annotation.Resource;
import javax.inject.Inject;

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

import study.dao.OrderDao;

@Service
public class OrderService {
	//jsr250注解
	/*@Resource
	private OrderDao orderDao;*/
	/*//spring注解
	@Autowired
	private OrderDao orderDao;*/
	//jsr330依赖javax.inject
	@Inject
	private OrderDao orderDao;
	@Override
	public String toString() {
		return "OrderService [orderDao=" + orderDao + "]";
	}
	
}

@Controller——注入控制层

@RestController——注入控制层,相当于@Controller+@ResponseBody

@Configuration——注入配置类

package study.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

import study.dao.UserDao;

@Configuration
public class Config {
	@Bean
	@Primary
	public UserDao createUserDao(){
		return new UserDao();
	}
}


bean的注解

@Autowired——spring自带的注解

@Resource——jsr250注解

@Inject——jsr330注解(需要引入javax.inject包)

//jsr250注解
	/*@Resource
	private OrderDao orderDao;*/
	/*//spring注解
	@Autowired
	private OrderDao orderDao;*/
	//jsr330依赖javax.inject
	@Inject
	private OrderDao orderDao;


阅读更多
个人分类: springboot
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

springboot20180514-依赖注入

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭