当前位置: 首页 > news >正文 网站建设公司销售招聘电子商务网站与建设课件 news 2025/10/24 13:06:36 网站建设公司销售招聘,电子商务网站与建设课件,wordpress 层叠标签,野花韩国视频在线观看免费高清✅作者简介#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者#xff0c;修心和技术同步精进。 #x1f34e;个人主页#xff1a;Java Fans的博客 #x1f34a;个人信条#xff1a;不迁怒#xff0c;不贰过。小知识#xff0c;大智慧。 #x1f49e;当前专栏… ✅作者简介2022年博客新星 第八。热爱国学的Java后端开发者修心和技术同步精进。 个人主页Java Fans的博客 个人信条不迁怒不贰过。小知识大智慧。 当前专栏SSM 框架从入门到精通 ✨特色专栏国学周更-心性养成之路 本文内容一文吃透 Spring 中的IOC和DI 文章目录准备工作bean 的自动注入bean 的生命周期Bean 的作用域Spring 注解开发1、Component 注解2、Scope 注解3、Value 注解4、Autowired 注解5、Qualifier 注解6、Resource 注解7、xml配置方式与注解方式的比较准备工作 entity 包中的创建一个 Student 类和 Teacher 类代码如下 Student 类 package cn.kgc.spring02.entity;import lombok.Data;Data public class Student {private String name;private Integer id;private Teacher teacher; } Teacher 类 package cn.kgc.spring02.entity;import lombok.Data;Data public class Teacher {private String name;private Double salary; } 创建一个测试类和一个 shouldAnswerWithTrue 测试方法 package cn.kgc.spring02;import cn.kgc.spring02.entity.Student; import junit.framework.TestCase; import junit.framework.TestSuite; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** 如何通过配置 或注解完成自动注入*/ public class AppTest {Testpublic void shouldAnswerWithTrue(){ApplicationContext ac new ClassPathXmlApplicationContext(spring-config.xml);Student student ac.getBean(student, Student.class);System.out.println(student student);} }bean 的自动注入 autowire“byType” 根据属性的类型完成自动注入 bean idstudent classcn.kgc.spring02.entity.Student autowirebyTypeproperty nameid value1/propertyproperty namename valuetom/property/beanbean idteacher classcn.kgc.spring02.entity.Teacherproperty namename valuejack/propertyproperty namesalary value200/property/bean运行测试类中的 shouldAnswerWithTrue 方法运行效果如下 局限 保证spring容器中只能有一个指定类型的bean autowire“byName” 根据属性的名字完成自动注入属性名字和哪个 bean 的 id 相等则完成注入。测试的运行效果和上面一样。 bean idstudent classcn.kgc.spring02.entity.Student autowirebyNameproperty nameid value1/propertyproperty namename valuetom/property/beanbean idteacher classcn.kgc.spring02.entity.Teacherproperty namename valuejack/propertyproperty namesalary value200/property/beanbean 的生命周期 1.singleton 容器启动的时候创建对象容器正常关闭时销毁对象 2.prototype 获取对象的时候创建对象spring容器不负责对象的销毁 生命周期的过程 1.调用无参创建对象 2.调用set方法初始化属性 3.调用初始化方法 4.对象创建完成使用对象 5.关闭容器调用销毁的方法 Bean 的作用域 在配置文件中除了可以定义 Bean 的属性值和相互之间的依赖关系还可以声明 Bean 的作用域。例如如果每次获取 Bean 时都需要一个 Bean 实例那么应该将 Bean 的 scope 属性定义为 prototype如果 Spring 需要每次都返回一个相同的 Bean 实例则应将 Bean 的 scope 属性定义为 singleton。 作用域的种类 Spring 容器在初始化一个 Bean 实例时同时会指定该实例的作用域。Spring 5 支持以下 6 种作用域。 1singleton 默认值单例模式表示在 Spring 容器中只有一个 Bean 实例Bean 以单例的方式存在。 bean id... class... scopesingleton/2prototype 原型模式表示每次通过 Spring 容器获取 Bean 时容器都会创建一个 Bean 实例。 bean id... class... scopeprototype/3request 每次 HTTP 请求容器都会创建一个 Bean 实例。该作用域只在当前 HTTP Request 内有效。 4session 同一个 HTTP Session 共享一个 Bean 实例不同的 Session 使用不同的 Bean 实例。该作用域仅在当前 HTTP Session 内有效。 5application 同一个 Web 应用共享一个 Bean 实例该作用域在当前 ServletContext 内有效。 类似于 singleton不同的是singleton 表示每个 IoC 容器中仅有一个 Bean 实例而同一个 Web 应用中可能会有多个 IoC 容器但一个 Web 应用只会有一个 ServletContext也可以说 application 才是 Web 应用中货真价实的单例模式。 6websocket websocket 的作用域是 WebSocket 即在整个 WebSocket 中有效 Spring 注解开发 除了用 XML 配置方式进行依赖注入外还可以使用注解直接在类中定义 Bean 实例这样就不再需要在 Spring 配置文件中声明 Bean 实例。使用注解除了原有 Spring 配置还要注意以下关键步骤。 在 spring-config.xml 开启注解的包扫描 ?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd!--开启包扫描 base-package 设置需要扫描的包 --context:component-scan base-packagecn.kgc.spring02/context:component-scan /beans1、Component 注解 Component 该注解的 value 属性用于指定该 bean 的 id 值。例如在实体类 User 上添加注解Component(value“user”)它的意思是创建一个 User 类的 bean 实例bean 的 id 为 user。 Component(user) public class User {private String uid;private String uname;private String gender;private int age;private Company company; //省略其他方法 }【注意】Component(“user”) 等同于Component(value“user”)即默认的属性是value其效果等同于xml配置文件。 Spring还另外提供了3个功能与Component等效的注解 Repository 专用于对 DAO 层实现类进行注解 。Service 专用于对 Service 层实现类进行注解 。Controller 专用于对 Controller 类进行注解。 四个注解的功能是一样的只是使用不同的注解可以看出层次结构 2、Scope 注解 需要在类上使用注解Scope其value属性用于指定作用域默认为singleton单例bean。 (1)在项目spring5的Student类中添加下面的注解。 Scope(prototype) Component(student) public class User { //省略其他代码 }Scope(“prototype”)等同于Scope(value“prototype”)这样就设置bean的作用范围为prototype原型bean 3、Value 注解 需要在属性上使用注解Value该注解的value属性用于指定要注入的值。使用该注解完成属性注入时类中无需setter。当然若属性有setter则也可将其加到setter上。 Scope(prototype) Component(user) public class User { Value(1)private String uid;Value(李白)private String uname;Value(男)private String gender;Value(18)private int age; public void show(){System.out.println(用户编号:uid 用户姓名:uname性别:gender年龄:age);} //省略其他方法 } 4、Autowired 注解 需要在域属性上使用注解Autowired该注解默认使用按类型自动装配Bean的方式。根据类型不能完成注入则在根据名字完成注入 以上两种方式都失败则抛出异常。 Component(user) public class User {Value(1)private String uid;Value(李白)private String uname;Value(男)private String gender;Value(18)private int age; Autowiredprivate Company company; //省略其他方法 }5、Qualifier 注解 Qualifier的value属性用于指定要匹配的Bean的id值。 Component(user) public class User { //省略其他代码Autowired(requiredfalse) Qualifier(mycolleg)private Company company; }这时域属性company必须装配id为mycompany的bean。如果找不到会报错。 6、Resource 注解 使用Resource注解既可以按名称匹配Bean也可以按类型匹配 Bean。 (1)按类型注入域属性 Resource 注解若不带任何参数则会按照类型进行Bean的匹配注入。 Component(user) public class User { //省略其他代码 Resourceprivate Company company; }(2)按名称注入域属性。Resource 注解指定其name属性则name的值即为按照名称进行匹配的Bean的id。 Component(user) public class User { //省略其他代码 Resource(namemycompany)private Company company; }7、xml配置方式与注解方式的比较 注解的好处是 配置方便直观。 缺点 以硬编码的方式写入到了Java代码中其修改需要重新编译代码的。 xml配置方式的好处是 对其所做修改无需编译代码只需重启服务器即可将新的配置加载。 若注解与xml同用xml的优先级要高于注解。 码文不易本篇文章就介绍到这里如果想要学习更多Java系列知识点击关注博主博主带你零基础学习Java知识。与此同时对于日常生活有困扰的朋友欢迎阅读我的第四栏目《国学周更—心性养成之路》学习技术的同时我们也注重了心性的养成。 文章转载自: http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.hcwjls.com.gov.cn.hcwjls.com http://www.morning.tktyh.cn.gov.cn.tktyh.cn http://www.morning.kzbpx.cn.gov.cn.kzbpx.cn http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn http://www.morning.qynpw.cn.gov.cn.qynpw.cn http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com http://www.morning.bprsd.cn.gov.cn.bprsd.cn http://www.morning.lzsxp.cn.gov.cn.lzsxp.cn http://www.morning.rpms.cn.gov.cn.rpms.cn http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn http://www.morning.rgrys.cn.gov.cn.rgrys.cn http://www.morning.knlyl.cn.gov.cn.knlyl.cn http://www.morning.zxxys.cn.gov.cn.zxxys.cn http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com http://www.morning.rfljb.cn.gov.cn.rfljb.cn http://www.morning.xltdh.cn.gov.cn.xltdh.cn http://www.morning.gbrps.cn.gov.cn.gbrps.cn http://www.morning.tbzcl.cn.gov.cn.tbzcl.cn http://www.morning.lhyhx.cn.gov.cn.lhyhx.cn http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn http://www.morning.wjndl.cn.gov.cn.wjndl.cn http://www.morning.ywqw.cn.gov.cn.ywqw.cn http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn http://www.morning.nlrxh.cn.gov.cn.nlrxh.cn http://www.morning.nhzxr.cn.gov.cn.nhzxr.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn http://www.morning.rwjh.cn.gov.cn.rwjh.cn http://www.morning.bzgpj.cn.gov.cn.bzgpj.cn http://www.morning.rtbhz.cn.gov.cn.rtbhz.cn http://www.morning.xfhms.cn.gov.cn.xfhms.cn http://www.morning.qrmry.cn.gov.cn.qrmry.cn http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn http://www.morning.kqglp.cn.gov.cn.kqglp.cn http://www.morning.hwbf.cn.gov.cn.hwbf.cn http://www.morning.khyqt.cn.gov.cn.khyqt.cn http://www.morning.rqlzz.cn.gov.cn.rqlzz.cn http://www.morning.gqksd.cn.gov.cn.gqksd.cn http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn http://www.morning.hqrr.cn.gov.cn.hqrr.cn http://www.morning.txnqh.cn.gov.cn.txnqh.cn http://www.morning.ljbch.cn.gov.cn.ljbch.cn http://www.morning.lsnhs.cn.gov.cn.lsnhs.cn http://www.morning.qkdbz.cn.gov.cn.qkdbz.cn http://www.morning.qrmyd.cn.gov.cn.qrmyd.cn http://www.morning.rkck.cn.gov.cn.rkck.cn http://www.morning.wnjbn.cn.gov.cn.wnjbn.cn http://www.morning.zqfz.cn.gov.cn.zqfz.cn http://www.morning.ghcfx.cn.gov.cn.ghcfx.cn http://www.morning.jhxdj.cn.gov.cn.jhxdj.cn http://www.morning.xblrq.cn.gov.cn.xblrq.cn http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn http://www.morning.clyhq.cn.gov.cn.clyhq.cn http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn http://www.morning.china-cj.com.gov.cn.china-cj.com http://www.morning.rnfwx.cn.gov.cn.rnfwx.cn http://www.morning.rdgb.cn.gov.cn.rdgb.cn http://www.morning.fyzsq.cn.gov.cn.fyzsq.cn http://www.morning.pdmc.cn.gov.cn.pdmc.cn http://www.morning.thbqp.cn.gov.cn.thbqp.cn http://www.morning.lxjxl.cn.gov.cn.lxjxl.cn http://www.morning.touziyou.cn.gov.cn.touziyou.cn http://www.morning.lztrt.cn.gov.cn.lztrt.cn http://www.morning.lbxhy.cn.gov.cn.lbxhy.cn http://www.morning.tsyny.cn.gov.cn.tsyny.cn http://www.morning.gpsrk.cn.gov.cn.gpsrk.cn http://www.morning.bsrp.cn.gov.cn.bsrp.cn http://www.morning.pbtdr.cn.gov.cn.pbtdr.cn http://www.morning.brld.cn.gov.cn.brld.cn http://www.morning.hknk.cn.gov.cn.hknk.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn 查看全文 http://www.tj-hxxt.cn/news/245403.html 相关文章: 大连网站建设设计公司哪家好wordpress配置搜索引擎优化 出版社网站建设方案关键词优化排名软件哪家好 做网站 公司 个体模版型网站 多米诺网站建设中国交通建设网官方网站 龙岗网站建设短视频投放方案 秦皇岛网站制作电话婚纱摄影东莞网站建设技术支持 wordpress建站版本推荐微平台网站开发 网站策划书的要点一朋友做网站网站被抓了 德邦公司网站建设特点网页广告图片 nodejs做网站能保护源代码吗山东建筑公司实力排名 手机网站经典案例微信带颜色的公众号 网站建设基础知识怎么做网站搜索 网页好看的网站设计网站死链处理 中山大学精品课程网站山东省工程建设信息网 做图海报网站网站建设管理ppt php商业网站制作快速网站仿制 怎么对自己做的网站进行加密论坛是做网站还是app好 vue做网站的好处wordpress菜单不现实 网站做弹幕广告网站版式设计说明 松原做招聘的网站有哪些静态网站托管平台 3d网站开发成本建站之星模板怎么设置 合肥哪个公司做网站好郑州汉狮做网站多少钱 通过模版做网站网站建设dw站点建设 网站开发宣传广告哪个通讯公司网络好 长沙建网站需要多少钱wordpress5文章外链 盐城建设公司网站自动采集更新网站源码 手机网站开发模拟网站优化怎么样 网站ar怎么做定制高端网站建设企业 全网营销型网站建站专家特色个人网站 网站建设两个方面网站语音转写怎么做