ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring学习(二)

2022-09-10 17:01:35  阅读:166  来源: 互联网

标签:Spring BookDao public 学习 Bean 添加 注解 class


注解开发

注解开发bean

  • 给要放到容器的bean添加注解

    @Component("BookDao")
    public class BookDaoImpl implements BookDao {
    
        public void save() {
            System.out.println("Dao Save...");
        }
    }
    
  • 在xml中添加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="zk.dao.impl"/>
    </beans>
    
  • 如果在@component中不设定名称,那么getBean的时候就要通过类型.class来获取对象

DAO层,Service层和Controller层的写法,他们等价于Component

  • @Repository
  • @Service
  • @Controller

纯注解开发

  • 加载配置类

    @Configuration	// 配置类注解
    @ComponentScan("zk.dao.impl")	// 扫描包下的类
    public class SpringConfig {
    
    }
    
  • 修改main中的加载方式为注解加载

    public class App {
        public static void main(String[] args) {
            ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
            BookDao bookDao = (BookDao) applicationContext.getBean("BookDao");
            bookDao.save();
        }
    }
    

Bean管理

bean作用范围

  • 添加@Scope注解

    @Repository("BookDao")
    @Scope("singleton")
    public class BookDaoImpl implements BookDao {
    
        @Override
        public void save() {
            System.out.println("Dao save...");
        }
    }
    

bean生命周期

  • 在init函数上添加@Constructor注解
  • 在destroy函数上添加@PreDestroy注解

依赖注入

自动装配

  • @Autowired装配,不用写set方法
  • 按类型装配需要保证只有一个
  • 按名称装配用@qualifier
  • @Value为简单值注入

配置文件

  • 在resource中加入.properties配置文件
  • 在配置类上添加@PropertiesSource注解
  • @Value注解中用${}引用配置文件中的变量
  • 多配置文件使用数组的格式

第三方Bean

管理

前期用代码管理,后期spring boot感觉会搞定

注册

  • 新建一个Config类,在里面写获取对象的方法,加上@Bean注解
  • 在主Config类上添加@Import(新Config.class)注解

依赖注入

  • 简单类型直接拿成员变量 + @Value搞
  • 引用类型只能通过配置Bean搞,加个形参,引用容器中的Bean

标签:Spring,BookDao,public,学习,Bean,添加,注解,class
来源: https://www.cnblogs.com/destinyzk/p/16677851.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[[email protected]]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有