注解方式实现
注解开发准备工作:
<?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
http://www.springframework.org/schema/context/spring-context.xsd">
<!--开启注解扫描-->
<context:component-scan base-package="com.ff.spring"(包名)> </context:component-scan>
</beans>
注解创建对象:
@Component(value=“user”)等于
<bean id=“user” class=“”></bean>
@Service
@Repository
以上注解都可以实现创建对象的功能,只是为了后续扩展能力,在不同的层使用不同的注解标记.
@Scope(value=“prototype”) 原型
@Scope(value=“ singleton ”) 单例
注解方式注入属性
@Autowired bytype 按照属性的类型来匹配查询,不需要set方法
@Qualifier (value=" ") Byname 按照对象value=“对象名” 名称查询
注意:value属性用于指定要匹配的bean中的id值
JDK 注解@Resource 自动注入
Spring 提供了对 jdk 中@Resource 注解的支持。@Resource 注解既可以按名称匹配 Bean,也可以按类型匹配 Bean。默认是按名称注入。
byName 注入引用类型属性
@Resource 注解指定其 name 属性,则 name 的值即为按照名称进行匹配的 Bean 的 id。
注解与 XML 的对比
注解优点:
方便,直观,高效(代码少,没有配置文件复杂)
注解缺点:
以硬代码的方式写入java代码中的,修改是需要重新编译代码.
Xml优点:
配置和代码是分离的,在xml中修改,无需编译代码,只需重启服务器加载即可
xml缺点:
Xml优点:
配置和代码是分离的,在xml中修改,无需编译代码,只需重启服务器加载即可
xml缺点:
编写麻烦,效率低,大型项目过于复杂.