Spring

本文详细介绍了如何创建Spring项目,包括Maven配置、bean的定义与注入、复杂属性注入以及自动扫描注入。通过实例展示了User类及其关联对象如Cat、List、Map等属性的配置方法,并解释了如何在main类中获取bean。同时提到了Okhttp的依赖添加及使用。
摘要由CSDN通过智能技术生成

Spring

创建spring项目:

新建maven项目:修改groupId,创建,pom.xml添加,alt+insert搜索spring-context,然后在项目resource目录下右键单击,新建xml configuration file选择spring config,没有的话就刷新项目,命名这个文件为applicationContext。

在main的java包下新建一个org.javaboy.ioc.model包,在包里创建User类。添加属性,生成get和set方法。

在applicationContext.xml下添加bean。

注入属性
<bean class="org.javaboy.ioc.model.User" id="user">
//对于无参构造
//<bean>下的property注入值
	<property name="studentId" value="1001"/>
</bean>	
//对于有参构造,通过constructor-arg初始构造值
<bean class="org.javaboy.ioc.model.User" id="user">
	<constructor-arg name="id" value="1"/>
</bean>

//通过命名空间注入,很少用

<bean class="org.javaboy.ioc.model.User" id="user" p:id="3"></bean>

maven添加okhttp依赖

okhttp注入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgRW0H4r-1634050962742)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928234203238.png)]

复杂属性注入

对于一个cat类,在user类添加了成员private Cat cat;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mFrgIHod-1634050962744)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928234520690.png)]

对于

private Cat[] cats;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpOmbke8-1634050962744)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928234938146.png)]

对于:
private List<String> favorites;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jNtOmbL0-1634050962745)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928235038551.png)]

对于map成员:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azX9GDQi-1634050962746)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928235153970.png)]

自动扫描注入
结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6mndPph-1634050962746)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210928200637577.png)]

使用

新建一个main类,psvm。

ClassPathXmlApplicationContext默认在classpath加载,maven是resource目录。

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
//或者ApplicationContext iocContainer = 
//		new ClassPathXmlApplicationContext("helloworld.xml");

//调用
User user = (User) ctx.getBean("user");//" "里内容和id一致。
//或者User user = ctx.getBean("user",User.class);
//User user = ctx.getBean(User.class);
//.castvar快速强制转换类型,.var补全

er.class);
//User user = ctx.getBean(User.class);
//.castvar快速强制转换类型,.var补全


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值