当前位置: 首页 > 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.dnsts.com.cn/news/207219.html

相关文章:

  • wordpress申请子站如何在自己的网站上做友情链接
  • seo整站优化方法佛山网站优化步骤
  • 外贸网站建设平台有哪些网站建设宀金手指排名
  • 网站提交收录入口链接wordpress主题添加评论框
  • 金属质感 网站wordpress主题module
  • 外贸怎么上国外的网站中国建设官网下载
  • 传媒公司网站建设费入什么科目360免费建站可以免费又永久吗
  • 许昌工程建设信息网站网站需要数据库吗
  • 怎样做自己的网页关键词自动优化
  • wordpress做下载型网站做网站一般什么问题
  • 网站首页被k 做跳转招生页面设计模板
  • 网站改版文案2018怎么做网站淘宝客
  • 怎么用wordpress建电商网站企业网络规划毕业设计
  • 网站布局设计排版解决方案网站
  • 哪里ui培训班好网站seo外包公司有哪些
  • 可以制作图片的软件常州seo
  • WordPress建影视站商业空间设计概念方案
  • 如何建设好一个公司网站济南网站制作推广
  • 厦门市建设管理协会网站首页河北地图
  • 免费领手机 网站微信公众号排版编辑
  • 建站运营新闻百度搜索一下
  • 电商网站设计公司排行榜wordpress列表显示标签
  • 物流商 网站建设方案中国世界排名前100名的大学
  • 环保网站设计是什么太原seo排名
  • 网站制作案例市场品牌建设成绩
  • 做学历的网站自己制作手机app
  • 怎么导入网站源码wordpress备案号代码
  • 培训网站建设课程团购网站模板免费下载
  • 外贸网站域名能用cn做后缀吗网站开发工具软件
  • 教育网站开发文档模板网站如何建设与安全