栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springIOC容器 bean管理——基于注解方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springIOC容器 bean管理——基于注解方式


文章目录
  • 前言
    • 1、什么是注解
    • 2、创建bean对象
    • 3、开启组件扫描
    • 4、配置扫描参数
    • 5、基于注解方式实现属性注入
      • 1.@Autowired:根据属性类型进行自动装配
      • 2.@Qualifier:根数属性名称进行注入
      • 3.@Resource :根据属性注入或者根据名称注入
      • 4.@Value:注入普通类型属性
    • 6.完全注解开发
  • 总结


前言 1、什么是注解
 (1)注解是代码特殊标记,格式:@注解名称(属性名称=属性值, 属性名称=属性值…)
​ (2)使用注解,注解作用在类上面,方法上面,属性上面
 (3)使用注解目的:简化 xml 配置
2、创建bean对象
  (1)@Component

​  (2)@Service

​  (3)@Controller

​  (4)@Repository
3、开启组件扫描 4、配置扫描参数 5、基于注解方式实现属性注入 1.@Autowired:根据属性类型进行自动装配

代码如下(示例):

@Service
public class UserService {
 //定义 dao 类型属性
 //不需要添加 set 方法
 //添加注入属性注解
 @Autowired
 private UserDao userDao;
 public void add() {
 System.out.println("service add.......");
 userDao.add();
 }
}

//Dao实现类
@Repository
//@Repository(value = "userDaoImpl1")
public class UserDaoImpl implements UserDao {
    @Override
    public void add() {
        System.out.println("dao add.....");
    }
}
2.@Qualifier:根数属性名称进行注入

代码如下(示例):

//定义 dao 类型属性
//不需要添加 set 方法
//添加注入属性注解
@Autowired //根据类型进行注入
//根据名称进行注入(目的在于区别同一接口下有多个实现类,根据类型就无法选择,从而出错!)
@Qualifier(value = "userDaoImpl1") 
private UserDao userDao;
3.@Resource :根据属性注入或者根据名称注入

java包中提供的注解


//@Resource //根据类型进行注入
@Resource(name = "userDaoImpl1") //根据名称进行注入
private UserDao userDao;
4.@Value:注入普通类型属性
@Value(value = "abc")
private String name
6.完全注解开发
@Configuration //作为配置类,替代 xml 配置文件
@ComponentScan(basePackages = {"com.atguigu"})
public class SpringConfig {    
}

@Test
public void testService2() {
 //加载配置类
 ApplicationContext context
 = new AnnotationConfigApplicationContext(SpringConfig.class);
 UserService userService = context.getBean("userService",
UserService.class);
 System.out.println(userService);
 userService.add();
}


总结
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号