zoukankan      html  css  js  c++  java
  • Spring的注解开发

    低版本注解:

    如果要让spring支持注解,必须开启注解支持及组件扫描。

    配置文件applicationContextOfAnnotation.xml:


    base-package指定在Demo及其内部文件夹扫描遍历所有注解。

    注解@Component不属于任何层

    注解@Component(id)完成创建对象,不方便区分属于哪一层但是需要注解管理时使用

    注解@Controller代表MVC控制层

    在SpringMVC中用的比较多

    注解@Service代表业务层

    衍生注解@Service(id)完成service层的bean实例化,可读性更强

    注解@Repository代表DAO层

    衍生注解@Repository(id)完成dao层的bean实例化,可读性更强

    接口UserDao的实现类UserDaoImpl:

    注解@Autowired按照类型自动注入

    @Autowired自动注入,可以配合Qualifier使用,可以单独使用。单独使用时是按照下面的类型注入,前提是该类型在配置文件中唯一。


    注解@Qualifier

    @Qualifier(想要注入的bean的id),必须结合Autowired使用,按照id名称从容器中进行匹配。

    注解@Resource

    @Resource(name=id),相当于@Autowired+@Qualifier一起使用【需要加name,jdk9已删除,不推荐使用】

    userService:

    注解配置的情况下,set方法可以不写

    注解@Repository

    衍生注解@Repository完成web层的bean实例化,可读性更强,但是我们是虚假的web程序不能用这个

    虚假的web程序:


    注解@Value:支持SpEL ${}

    注解@Scope

    前面讲过,不演示

    注解@PostConstruct

    初始化

    注解@PreDestroy

    结束



    高版本注解,不推荐使用

    @Configuration标注一个类是配置类

    当我们看到这个注解,说明这个类是Spring的配置类

    @ComponentScan组件扫描,替代配置文件组件扫描标签

    扫描如下的注解,被扫描到的注解会自动被当成配置类去加载【不推荐使用,过于憨批】

    @PropertySource替换配置文件的placeholder标签

    用于引入properties配置文件供spring使用

    @Import引入

    在配置类中引入其他配置类

    @Bean

    一般用于第三方工厂方法去创建对象

    用注解全部替换掉applicationContext.xml配置文件:


    jdbc.properties:

    UserDaoImpl:

    UserServletImpl:

    FakeServletOfAnnotation:

    执行FakeServletOfAnnotation结果:

  • 相关阅读:
    【Anagrams】 cpp
    【Count and Say】cpp
    【Roman To Integer】cpp
    【Integer To Roman】cpp
    【Valid Number】cpp
    重构之 实体与引用 逻辑实体 逻辑存在的形式 可引用逻辑实体 不可引用逻辑实体 散弹式修改
    Maven项目聚合 jar包锁定 依赖传递 私服
    Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
    mysql案例~tcpdump的使用
    tidb架构~本地化安装
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12190201.html
Copyright © 2011-2022 走看看