当前位置: 首页 > news >正文

延安市建设局网站跨平台软件开发工具

延安市建设局网站,跨平台软件开发工具,广州网站制作有哪些,视频号怎么推广流量今日目标 掌握纯注解开发依赖注入(DI)模式 学习使用纯注解进行第三方Bean注入 1 注解开发依赖注入(DI)【重点】 问题导入 思考:如何使用注解方式将Bean对象注入到类中 1.1 使用Autowired注解开启自动装配模式#xff08;按类型#xff09; Service public class StudentS…今日目标 掌握纯注解开发依赖注入(DI)模式 学习使用纯注解进行第三方Bean注入 1 注解开发依赖注入(DI)【重点】 问题导入 思考:如何使用注解方式将Bean对象注入到类中 1.1 使用Autowired注解开启自动装配模式按类型 Service public class StudentServiceImpl implements StudentService {//创建成员对象//Autowired注入引用类型自动装配模式默认按类型装配Autowiredprivate StudentDao studentDao ;Overridepublic void save() {System.out.println(Service: 添加学生信息到数据库...);studentDao.save();} } 说明不管是使用配置文件还是配置类都必须进行对应的Spring注解包扫描才可以使用。Autowired默认按照类型自动装配如果IoC容器中同类的Bean有多个那么默认按照变量名和Bean的名称匹配建议使用Qualifier注解指定要装配的bean名称 注意自动装配基于反射设计创建对象并暴力反射对应属性为私有属性初始化数据因此无需提供setter方法。 1.2 使用Qualifier注解指定要装配的bean名称 目的解决IoC容器中同类型Bean有多个装配哪一个的问题 Service public class StudentServiceImpl implements StudentService {//创建成员对象//Autowired注入引用类型自动装配模式默认按类型装配Autowired//Qualifier自动装配bean时按bean名称装配Qualifier(studentDaoImpl)private StudentDao studentDao ;Overridepublic void save() {System.out.println(Service: 添加学生信息到数据库...);studentDao.save();} } 注意Qualifier注解无法单独使用必须配合Autowired注解使用 1.3 使用Value实现简单类型注入 Repository public class StudentDaoImpl implements StudentDao {//Value注入简单类型无需提供set方法Value(${test.name})private String name;Overridepublic void save() {System.out.println(DAO: name name);System.out.println(DAO: 添加学生信息到数据库...);} }以上Value注解中使用${test.name}从属性文件中读取test.name值那么就需要在配置类或者配置文件中加载属性文件。 Configuration ComponentScan(com.itheima) //PropertySource加载properties配置文件 PropertySource(classpath:test.properties) //如果是多个属性文件则使用{}数组 public class SpringConfig { }注意PropertySource中加载多文件请使用数组格式配置不允许使用通配符* 2 注解开发管理第三方Bean【重点】 问题导入 思考:导入自己定义的配置类有几种方式 【第零步】pom.xml添加数据库依赖 !-- mysql 驱动-- dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.30/version /dependency !--druid包-- dependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.2.18/version /dependency【第一步】单独定义配置类在config包下创建 package com.zbbmeta.config;import com.alibaba.druid.pool.DruidDataSource; import org.springframework.context.annotation.Bean;import javax.sql.DataSource;public class JdbcConfig {//Bean表示当前方法的返回值是一个bean对象添加到IOC容器中Beanpublic DataSource dataSource(){DruidDataSource ds  new DruidDataSource();ds.setDriverClassName(com.mysql.cj.jdbc.Driver);ds.setUrl(jdbc:mysql://localhost:3306/spring_druid);ds.setUsername(root);ds.setPassword(root);return ds;} }【第二步】将独立的配置类加入核心配置 方式1Import注解导入式 Configuration // 指定这个类为配置类,替代application.xml ComponentScan(com.zbbmeta)//代替context:component-scan base-packagecom.zbbmeta / PropertySource(classpath:test.properties) //如果是多个属性文件则使用{}数组 Import(JdbcConfig.class)  //加载JdbcConfig配置类 public class SpringConfig {} 方式2ComponentScan扫描式 JdbcConfig类上添加注解 Configuration public class JdbcConfig {//Bean表示当前方法的返回值是一个bean对象添加到IOC容器中Beanpublic DataSource dataSource(){DruidDataSource ds  new DruidDataSource();ds.setDriverClassName(com.mysql.cj.jdbc.Driver);ds.setUrl(jdbc:mysql://localhost:3306/spring_druid);ds.setUsername(root);ds.setPassword(root);return ds;} }SpringConfig配置不变 Configuration // 指定这个类为配置类,替代application.xml ComponentScan(com.zbbmeta)//代替context:component-scan base-packagecom.zbbmeta / PropertySource(classpath:test.properties) //如果是多个属性文件则使用{}数组 //Import(JdbcConfig.class)  //加载JdbcConfig配置类 public class SpringConfig {}3 注解开发为第三方Bean注入资源【重点】 问题导入 思考:配置类中如何注入简单类型数据如何注入引用类型数据 3.1 简单类型依赖注入 public class JdbcConfig {Value(com.mysql.jdbc.Driver)private String driver;Value(jdbc:mysql://localhost:3306/spring_db)private String url;Value(root)private String userName;Value(root)private String password;//1.定义一个方法获得要管理的对象//2.Bean表示当前方法的返回值是一个bean对象添加到IOC容器中Beanpublic DataSource dataSource(){DruidDataSource ds  new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(userName);ds.setPassword(password);return ds;} }说明如果Value()中使用了EL表达式读取properties属性文件中的内容那么就需要加载properties属性文件。 3.2 引用类型依赖注入 //Spring会自动从IOC容器中根据类型找到StudentDao对象赋值给参数studentDao变量如果没有就会报错。Beanpublic DataSource dataSource(StudentDao studentDao){System.out.println(JdbcConfig  studentDao    studentDao);DruidDataSource ds  new DruidDataSource();ds.setDriverClassName(driver);ds.setUrl(url);ds.setUsername(userName);ds.setPassword(password);return ds;}注意引用类型注入只需要为bean定义方法设置形参即可容器会根据类型自动装配对象 3.3 测试类 Testpublic void testDatasource() throws SQLException {//目标从IOC容器中获取德鲁伊连接池对象//1.AnnotationConfigApplicationContext加载Spring配置类初始化Spring容器AnnotationConfigApplicationContext ac  new AnnotationConfigApplicationContext(SpringConfig.class);//按类型获取beanDataSource dataSource  ac.getBean(DataSource.class);Connection connection  dataSource.getConnection();//3.打印对象System.out.println(连接池对象dataSource);System.out.println(连接象地址connection);//4.关闭容器ac.close();}3.4 注解开发总结
http://www.zqtcl.cn/news/412911/

相关文章:

  • 滁州网站建设信息推荐软件开发技术方案模板
  • 商务网站建设有哪几个步骤拼多多网页qq登录
  • 厦门商城网站开发宜昌小程序开发公司
  • 东莞沙田网站建设榆林网站建设价格
  • 无锡网站制作建设wordpress写文章模板
  • 企业网站销售提升学历要多少钱
  • 打开建设银行官方网站首页wordpress 站库分离
  • 电子商务网站建设的试卷设计之家app
  • 抚养网站建设黔东南小程序开发公司
  • 网站建设相关行业有哪些wordpress 内容管理系统
  • 网站 备案地温州网站优化排名推广
  • 做网站的工作量国内 wordpress
  • 定制网站开发是什么大业推广网站
  • 网站建设每年需要交多少钱天津制作网站公司
  • 网站平台都有哪些wordpress 主题制作 视频
  • 中山网站建设方案家具网站开发目的
  • 教师个人网站建设建模培训多少钱
  • 个人网站可以做社交类型网站建设功能说明书
  • 微站是什么移动网站 拉新
  • 黑龙江省农业网站建设情况wordpress4.94主题上传不显示
  • 个人网站的域名重庆建立公司网站
  • 什么做网站做个多少钱啊百度网盘app
  • 做网站的公司挣钱吗石家庄房产
  • 烟台网站建设设计公司安徽建设工程信息网查询平台蔡庆树
  • 微信链接的微网站怎么做西安企业网站制作价格
  • uniapp怎么做淘客网站表格布局的网站
  • wordpress侧栏图片插件提升seo搜索排名
  • 如何查询网站的域名注册邹城建设银行网站
  • 招生门户网站建设方案国家企业信用信息公示信息查询网
  • 用dw做淘客网站的步骤移动互联网应用技术