Bean管理-注解方式创建对象与属性注入
需要开启包扫描 注解标注的类才能被创建
创建对象的注解:
1.@Controller --常用在web层
2.@Service --常用在service层
3.@Repository --常用在dao层
4.@Component --普通的组件
以上注解功能一样,都可以创建bean实例
xml配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 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"> <!--开启包扫描--> <context:component-scan base-package="com.xxx.spring"></context:component-scan> </beans>
package com.xxx.spring.service; import org.springframework.stereotype.Service; @Service("userService")//属性值可以不写,不写会默认userService public class UserService { public void add(){ System.out.println("service add..."); } }
测试代码
import com.alibaba.druid.pool.DruidDataSource; import com.xxx.spring.service.UserService; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestCase { @Test public void testAnno(){ ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml"); UserService userService = context.getBean("userService", UserService.class); System.out.println(userService); } }
注入属性的注解:
1.@Autowired --根据属性类型进行注入
2.@Qualifier --根据属性名称进行注入,当接口存在多个实现类时,可以指定具体名称
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律