我是靠谱客的博主 单纯紫菜,最近开发中收集的这篇文章主要介绍全注解开发,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

dao层交给容器管理的注解@Resposity
注解的作用:简化代码,以低耦合的进行使用(解耦)
@Target表示对谁有效
@Retention:在什么时候有效

@autowired默认按照类型注入,如果要想按照名字进行注入那么就要在加一个注解 @Qualifier(“名字”)(一般不写)

在这里插入图片描述

Spring当中通过beanfactory接口进行创建对象;但是在加载第三方框架的时候使用的是factorybean(即在执行业务的时候);


 @Test
    public void test01(){
    //通过此方式加载配置文件
        ApplicationContext context =
                new ClassPathXmlApplicationContext("application_1.xml");

//如果讲配置文件改为配置类
/**
 ApplicationContext context =
                new AnnotationConfigApplicationContext(SpringConfig.class);
*/
         /**通过类型进行获取
          UserController userController = context.getBean(UserController.class);*/
          
        //通过名字进行注入
        UserController userController =
                (UserController) context.getBean("userController");
        userController.addUser();
    }


Spring当中通过beanfactory接口进行创建对象;但是在加载第三方框架的时候使用的是factorybean(即在执行业务的时候);

简化配置文件,有配置类进行代替

在配置类中加上@Configuration注解即可说明这是一个配置类;
如果注解中有value属性,那么可以省略包扫描注解@Mapperscan(“路径”)

1.6 Spring注解模式执行过程

1).当程序启动Spring容器时 AnnotationConfigApplicationContext 利用beanFactory实例化对象
2).根据配置类中的包扫描开始加载指定的注解(4个). 根据配置文件的顺序依次进行加载

在这里插入图片描述

3).当程序实例化Controller时,由于缺少Service对象,所以挂起线程 继续执行后续逻辑.
当构建Service时,由于缺少Dao对象,所以挂起线程 继续执行后续逻辑.
当实例化Dao成功时,保存到Spring所维护的Map集合中. 执行之前挂起的线程.
所以以此类推 所有对象实现封装.最终容器启动成功

在这里插入图片描述

4). 根据指定的注解/注入指定的对象.之后统一交给Spring容器进行管理.最终程序启动成功.

1.5.1 接口多实现类情况说明

原则: Spring中规定 一个接口最好只有一个实现类.
业务需求: 要求给UserService接口提供2个实现类.

则使用@qualify的名字必须唯一

注入两个实现类

请添加图片描述

Spring管理数据的注解@bean

@Bean作用
通过该注解,可以将业务数据实例化之后,交给Spring容器管理. 但是@Bean注解应该写到配置类中.

Spring动态获取外部数据

编辑properties文件

properties文件里不能写name属性,通过名字(name)属性写成username

要想获取properties文件中的属性的值则需要加//@PropertySource 作用: 加载指定的pro配置文件 将数据保存到Spring容器中
encoding:指定字符集编码格式
@PropertySource(value = “classpath:/user.properties”,encoding = “UTF-8”)

//@Value(" u s e r . i d " ) 在 S p r i n g 容 器 中 查 找 k e y = u s e r . i d 的 数 据 . 通 过 {user.id}") 在Spring容器中查找key=user.id的数据.通过 user.id")Springkey=user.id.{} 进行触发 ,从容器中的值存入到我们的属性; @Value("${user.id}")

请添加图片描述

最后

以上就是单纯紫菜为你收集整理的全注解开发的全部内容,希望文章能够帮你解决全注解开发所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部