2

Spring-使用注解开发

 2 years ago
source link: https://segmentfault.com/a/1190000041362847
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Spring-使用注解开发

发布于 今天 17:54

在Spring4之后,要使用注解开发,必须要保证aop的包导入了
image.png
使用注解需要导入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
        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.sunfl.pojo"/>
    <context:annotation-config/>

</beans>
  1. 属性如何注入

    //等价于 <bean id="user" class="com.sunfl.pojo.User"/>
    @Component
    public class User {
    
     public String name;
    
     //相当于<property name="name" value="向日葵">
     @Value("向日葵")
     public void setName(String name) {
         this.name = name;
     }
    }
  2. 衍生的注解
    @Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层

    • dao 【@Repository】
    • service 【@Service】
    • controller 【@Controller】

    这四个注解功能都是一样的,都是代表将某个类注册到Spring容器中,装配Bean

  3. 自动装配置

    • @Autowired:自动装配通过类型、名字
    • @Nullable:字段标记了这个注解,说明这个字段可以为null
    • @Resource:自动装配通过类型、名字
  4. 作用域
    image.png

    @Component
    @Scope("prototype")
    public class User {
    
    }
  5. 小结
    xml与注解对比:

    • xml更加万能,适用于任何场合!维护简单方便
    • 注解 不是自己类使用不了,维护相对复杂

    最佳实践:

    • xml用来管理bean
    • 注解只负责完成属性的注入

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK