private User loginUser; 这句话是生命这个类拥有一个私有对象引用。set方法可以对外提供对这个私有成员对象引用赋值。spring中对象一般都是有spring容器创建,并且没有作特殊配置声明,创建的对象都是单例的,如果没有set方法,就没法注入这个对象。
依赖注入和引用对象没有关系,应该说引用对象是自己进行实例化还是依赖注入来实现实例化
个人理解
第一个不可改变被引用对象的值
第二个可以被改变
private、public 都是访问修饰符,规定了被修饰对象可被访问的范围
private限定目标只可以被当前内的成员访问
public修饰的目标可被所有成员访问(非static成员需要先实例化,即new ...)
再来说你上面的两个问题
一。一个只能被当前类成员访问到的对象
二。对象访问范围与 一 相同,但有一个public方法给对象赋值,而这个方法是能够被其它类的成员访问的。最终是,这个对象能够被其它类的成员所改变,但除了本类成员外,不能获得这个对象的值