微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring bean 四种注入方式详解

这篇文章主要介绍了Spring bean的实例化和IOC依赖注入详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

目录

一、Set方式注入

pojo层:

1.xml 文件

test测试

二、构造函数方式注入

pojo层

2.xml文件

test测试

三、注解注入

pojo层

3.xml文件

test测试

四、JavaConfig 方式注入

pojo层

JavaConfig

xml文件 扫描包

测试:

五、Service层注入详解

service

serviceImpl

xml配置文件

总结

一、Set方式注入

pojo层:

/** * @Author: crush * @Date: 2021-06-17 16:57 * version 1.0 * xml 配置注入版本 set 方式 */ public class Student1 { public String name; public String school; public void setName(String name) { this.name = name; } public void setSchool(String school) { this.school = school; } @Override public String toString() { return "Student1{" + "name='" + name + ''' + ", school='" + school + ''' + '}'; } }

1.xml 文件

test测试

@Test public void student1(){ ApplicationContext context = new ClasspathXmlApplicationContext("student1.xml"); Student1 student1 = context.getBean("student1", Student1.class); System.out.println(student1); }

二、构造函数方式注入

pojo层

/** * @Author: crush * @Date: 2021-06-17 17:02 * version 1.0 * xml 配置 构造函数方式注入 */ public class Student2 { private String name; private String school; public Student2(String name, String school) { this.name = name; this.school = school; } @Override public String toString() { return "Student2{" + "name='" + name + ''' + ", school='" + school + ''' + '}'; } }

2.xml文件

test测试

@Test public void student2(){ ApplicationContext context = new ClasspathXmlApplicationContext("student2.xml"); Student2 student2 = context.getBean("student2", Student2.class); System.out.println(student2); }

三、注解注入

pojo层

/** * @Author: crush * @Date: 2021-06-17 17:08 * version 1.0 */ @Component public class Student3 { @Value("wyh3") private String name; @Value("hngy3") private String school; @Override public String toString() { return "Student3{" + "name='" + name + ''' + ", school='" + school + ''' + '}'; } }

3.xml文件

test测试

@Test public void student3(){ ApplicationContext context = new ClasspathXmlApplicationContext("student3.xml"); Student3 student3 = context.getBean("student3", Student3.class); System.out.println(student3); }

四、JavaConfig 方式注入

pojo层

/** * @Author: crush * @Date: 2021-06-17 17:16 * version 1.0 * JavaConfig 配置 */ public class Student4 { @Value("wyh4") private String name; @Value("hngy4") private String school; @Override public String toString() { return "Student4{" + "name='" + name + ''' + ", school='" + school + ''' + '}'; } }

JavaConfig

@Configuration public class Student4Config { @Bean public Student4 student4(){ return new Student4(); } }

xml文件 扫描包

测试:

@Test public void student4(){ ApplicationContext context = new ClasspathXmlApplicationContext("student4.xml"); Student4 student4 = context.getBean("student4", Student4.class); System.out.println(student4); }

五、Service层注入详解

service

/** * @Author: crush * @Date: 2021-06-17 17:27 * version 1.0 * xml 配置 */ public interface StudentService1 { void test(); }

serviceImpl

/** * @Author: crush * @Date: 2021-06-17 17:29 * version 1.0 * xml 配置 */ public class StudentService1Impl implements StudentService1{ @Override public void test() { System.out.println("===StudentDao1Impl==="); } }

xml配置文件

总结

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐