标签:xml Qualifier spring 配置 扫描 注解 IOC 属性
spring·基于注解的方式IOC操作bean管理
1 配置maven依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
</dependencies>
2 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" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"> <!--开启组件扫描> <context:annotation-config/> <!--要写的内容--> </beans>
3 在要创建类的上面添加注解@component
- @Component, @Service, @Controller, @Repository作用是一样的
-
注解里面的value属性值可以省略不写
-
默认值是类名称,首字母小写
如:UserService -- userService
-
在xml配置文件上配置bean文件
4 组件扫描的细节
-
在xml文件配置
-
use-default-filter="false",表示不使用默认的filter,自己设置扫描内容
<context:component-scan base-package="com.atguigu" use-defaultfilters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
意思是:在com.atguigu这个包中,默认不扫描,扫描类型是注解,注解是@Controller下的类
-
exclude-filter:设置那些内容不进行扫描
<context:component-scan base-package="com.atguigu"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
5 基于注解方式实现属性注入
- @Autowired
- @Qualifier
- @Resource
- Value
-
@Autowired:根据属性类型进行自动装配
操作步骤:1 用注解的方式创建对象
2 在要实现属性注入的对象上面添加@Autowire注解
-
@Qualifier:根据名称进行注入
@Qualifier(value = "属性名称")
-
@Resource:可以根据类型注入,可以根据名称注入
6 完全注解开发
1 创建一个配置类
2 在类上面写注解
@Configuration //作为配置类,替代 xml 配置文件
@ComponentScan(basePackages = {"com.atguigu"})
public class SpringConfig {
}
3 创建测试类
将ClassPathXMLConfigApplication改写程AnnotationConfigApplication
@Test
public void testService2() {
//加载配置类
ApplicationContext context
= new AnnotationConfigApplicationContext(SpringConfig.class);
}
标签:xml,Qualifier,spring,配置,扫描,注解,IOC,属性
来源: https://www.cnblogs.com/tunan-weixin/p/15582461.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。