标签:组件 one web开发 com org coding 装备 www 对象属性
在Spring中有三种自动装配方式
环境搭建:一个人两个宠物
<!--
ByName:会自动在容器上下文中查找,和自己对象set方法后面的值对应的beanid
-->
<bean id="people" class="cn.imut.pojo.People" autowire="byName">
<property name="name" value="张磊"/>
</bean>
byType:会自动在容器上下文中查找,和自己对象属性相同的对应的beanid
<bean id="people" class="cn.imut.pojo.People" autowire="byType">
<property name="name" value="张磊"/>
</bean>
小结:
The introduction of annotation-based configuration raised the question of whether this approach is “better” than XML.
要使用注解须知:
导入约束:context
<context:annotation-config/>
配置注解的支持
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
@Autowired:
直接在属性上使用即可,也可以在set方式上使用
可以不用写set方法,前提是在IOC容器中存在,且符合ByType
如果@Autowired自动装配的环境比较复杂,自动装配无法通过一个注解完成时
@Nullable: 字段标记此注解,字段可以为null
使用@Qualifier配合使用
@Qualifier(value = "dog1")
@Resource
java自带注解,没有Spring方便
小结:
@Resource和@Autowired的区别:
在Spring4之后,要使用注解开发,必须要保证aop的包导入了
使用注解需要导入context约束,增加注解的支持
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
</beans>
@Data
@Component
// @Component 组件
public class User {
//相当于bean中的注入
@Value("张磊")
public String name;
}
@Component有几个衍生注解,我们在Web开发中,会按照MVC三层架构分层
这四个功能是一样的,都代表将某个类注册到Spring容器中,装配Bean
@Autowired:自动装配,通过类型
@Qualifier:配合使用,可以具体指定
@Nullable: 字段标记此注解,字段可以为null
@Resource:自动装配
@Data
@Component
// @Component 组件
@Scope("singleton") //单例
public class User {
//相当于bean中的注入
@Value("张磊")
public String name;
}
标签:组件 one web开发 com org coding 装备 www 对象属性
原文地址:https://www.cnblogs.com/yfyyy/p/12433401.html