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

合肥自助建站申请自己邮箱域名

合肥自助建站,申请自己邮箱域名,素材网站会员,广告发布属于什么服务1负责注入的注解 负责注入的注解#xff0c;常见的包括四个#xff1a; ValueAutowiredQualifierResource 1.1 Value 当属性的类型是简单类型时#xff0c;可以使用Value注解进行注入。Value注解可以出现在属性上、setter方法上、以及构造方法的形参上, 方便起见,一般直…1负责注入的注解 负责注入的注解常见的包括四个 ValueAutowiredQualifierResource 1.1 Value 当属性的类型是简单类型时可以使用Value注解进行注入。Value注解可以出现在属性上、setter方法上、以及构造方法的形参上, 方便起见,一般直接作用在属性上. package com.sunsplanter.bean;import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;Component public class User {Value(value zhangsan)private String name;Value(20)private int age;Overridepublic String toString() {return User{ name name \ , age age };} /*Value和setter方法结合private String name;private int age;Value(李四)public void setName(String name) {this.name name;}Value(30)public void setAge(int age) {this.age age;} *//*Value和构造方法结合private String name;private int age;public User(Value(隔壁老王) String name, Value(33) int age) {this.name name;this.age age;} */ }配置文件开启包扫描: ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdcontext:component-scan base-packagecom.sunsplanter.bean/ /beans测试程序: Test public void testValue(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);Object user applicationContext.getBean(user);System.out.println(user); }三种方法都可以正确注入简单类型. 1.2 Autowired与Qualifier Autowired注解可以用来注入非简单类型。被翻译为自动连线的或者自动装配。Autowired注解可以出现在构造方法上/方法上/形参上/属性上/注解上Autowired注解有一个required属性默认值是true表示在注入的时候要求被注入的Bean必须是存在的如果不存在则报错。如果required属性设置为false表示注入的Bean存在或者不存在都没关系存在的话就注入不存在的话也不报错。 目标: 存在两层: Service层和Dao层. 如前所述,UserService要控制UserDaoForMySQL, 必须要实例化一个UserDaoForMySQL的对象并注入到UserService类中定义的UserDaoForMySQL中. 配置Bean后Spring容器帮我们实例化了这个对象, 之前也学过了如何通过配置Bean标签注入. 本节的目标是通过注解完成自动注入. 结构为: Dao层接口UserDao: package com.dao;public interface UserDao {void insert(); }实现类UserDaoForMySQL: package com.dao;import org.springframework.stereotype.Repository;Repository //纳入bean管理 public class UserDaoForMySQL implements UserDao{Overridepublic void insert() {System.out.println(正在向mysql数据库插入User数据);} }Service层: package com.Service;import com.dao.UserDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;Service // 纳入bean管理 public class UserService {Autowired // 在属性上注入private UserDao userDao;// 没有提供构造方法和setter方法。public void save(){userDao.insert();}/* Autowired和setter方法结合 private UserDao userDao;Autowiredpublic void setUserDao(UserDao userDao) {this.userDao userDao;}public void save(){userDao.insert();}*//*Autowired和构造方法结合private UserDao userDao;public UserService(Autowired UserDao userDao) {this.userDao userDao;}public void save(){userDao.insert();}*/ }配置文件开启包扫描: ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdcontext:component-scan base-packagecom.dao,com.service/ /beans测试程序: Test public void testAutowired(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);UserService userService applicationContext.getBean(userService, UserService.class);userService.save(); }单独使用Autowired注解默认根据类型装配【byType】。但之前也提到过,如果两个相同类型的类在同一包下,则系统分辨不出自动注解哪个bean, 例如: 两个bean类都实现了UserDao接口.无法分辨 解决办法:Autowired注解和Qualifier注解联合起来才可以根据名称进行装配在Qualifier注解中指定Bean名称。 将Service层代码增加一个Qualifier注解,指定注入到userDaoForOracle: private UserDao userDao;AutowiredQualifier(userDaoForOracle) // 这个是bean的名字。public void setUserDao(UserDao userDao) {this.userDao userDao;} 1.3 Resource Resource注解也可以完成非简单类型注入, 但与AutoWired的区别如下Resource注解是JDK扩展包中的也就是说属于JDK的一部分。所以该注解是标准注解更加具有通用性。 Autowired注解是Spring框架自己的。Resource注解默认根据名称装配byName未指定name时使用属性名作为name。通过name找不到的话会自动启动通过类型byType装配。 Autowired注解默认根据类型装配byType如果想根据名称装配需要配合Qualifier注解一起用。Resource注解用在属性上、setter方法上。 Autowired注解用在属性上、setter方法上、构造方法上、构造方法参数上。Resource注解属于JDK扩展包所以不在JDK当中需要额外引入以下依赖【如果是JDK8的话不需要额外引入依赖。高于JDK11或低于JDK8需要引入以下依赖。】 Spring6不再支持JavaEE它支持的是JakartaEE9。之前所接触的所有的 javax.* 包名统一修改为 jakarta.*包名了。 若使用Spring6, 引入: dependencygroupIdjakarta.annotation/groupIdartifactIdjakarta.annotation-api/artifactIdversion2.1.1/version /dependency使用: UserDaoForOracle的名字为userDao让这个Bean的名字和UserService类中的UserDao属性名一致 package com.sunsplanter.dao;import org.springframework.stereotype.Repository;Repository(value userDaoForOracle) public class UserDaoForOracle implements UserDao{Overridepublic void insert() {System.out.println(正在向Oracle数据库插入User数据);} }package com.sunsplanter.service;import com.sunsplanter.dao.UserDao; import jakarta.annotation.Resource; import org.springframework.stereotype.Service;Service public class UserService {Resource(name userDaoForOracle)private UserDao userDao;public void save(){userDao.insert();} }测试程序: Test public void testResources(){ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring.xml);UserService userService applicationContext.getBean(userService, UserService.class);userService.save(); }以上代码使用Resource注解根据name(bean id)进行注入.Resource的的name(bean id为)userDaoForOracle,且注解写在UserDao头上.那么就去寻找一个名为userDaoForOracle的UserDao实现类进行注入. 2 全注解开发 所谓的全注解开发就是不再使用spring配置文件spring.xml了。写一个配置类来代替配置文件. 其中配置类中使用 configuration componentScan 等注解发挥spring.xml的作用 对于上例: package com.sunsplanter.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScans; import org.springframework.context.annotation.Configuration;Configuration ComponentScan({com.sunsplanter.dao, com.sunsplanter.service}) public class Spring6Configuration { }Test public void testNoXml(){ApplicationContext applicationContext new AnnotationConfigApplicationContext(Spring6Configuration.class);UserService userService applicationContext.getBean(userService, UserService.class);userService.save(); }
http://www.zqtcl.cn/news/543036/

相关文章:

  • 分类信息网站如何做排名品牌建设卓有成效
  • 企业网站报价方案模板下载营销软件crm
  • 湛江网站开发哪家专业东莞营销型手机网站建设
  • 做个外贸的网站不懂英语咋做做网站 嵌入支付
  • 官方模板关键字生成的代码添加在网站的什么地方?网站 建设 培训 视频
  • 做网站时图片要切片有什么作用网站导航栏模板怎么做
  • 网站做数据分析网站开发为什么不用cgi了
  • 有了网址可以建网站吗软件外包项目网站
  • 威海设计网站的单肩包自定义页面设计模板
  • 制作一个网站首页中国建设个人网上银行官网
  • 厦门开发网站公司购买手表网站
  • 网站模板排名vs做网站加背景
  • 思途旅游网站建设系统郴州新网招聘
  • 婚庆公司网站模板下载海域装饰
  • 微信小程序是干什么用的永康网站优化
  • 网站seo是什么谷歌海外广告投放
  • 江苏省 建设 注册中心网站首页淮南建筑网
  • 网站备案核wordpress页面菜单
  • 凤阳县城乡建设局网站设计本app下载
  • 网站建设实用教程网站后台制作表格
  • 微信官方网站注册新开的网页游戏平台
  • 福州专业建站网站代码的重点内容是什么
  • jsp网站架构网站设计的主要内容
  • html电子商务网站模板wordpress 随机阅读数
  • 湖南省军区强军网网站群建设项目免费网页托管
  • 网站背景图政协网站 两学一做专题研讨
  • 买域名建网站郑州做网站优化运营商
  • 建设宠物店网站114查询
  • 怎么查网站关键词排名微信与与网站建设
  • 湖州高端网站建设医疗网站源码