Spring——Bean管理-注解方式进行属性注入
创始人
2024-05-28 19:29:24
0

Spring针对Bean管理中创建对象提供的注解有哪些?

@Component:普通

@Service:业务逻辑层

@Controller:controller层

@Repository:dao层

用注解的方式是为什么?

简化xml方式开发,只需要注解就可以完成在配置文件中的配置

如何实现注解开发?

创建对象

组件扫描

package com.atguigu.spring5.ComponentScan;import org.springframework.stereotype.Component;/*** @BelongsProject: 02-Spring* @BelongsPackage: com.atguigu.spring5* @Author: dengLiMei* @CreateTime: 2023-02-04  16:56* @Description: TODO* @Version: 1.0*/
//value可以不写,如果不写默认是类名的首字母小写
@Component(value = "user")
public class User {public void add() {System.out.println("aaaa");}
}
package com.atguigu.spring5.ComponentScan;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @BelongsProject: 02-Spring* @BelongsPackage: com.atguigu.spring5.ComponentScan* @Author: dengLiMei* @CreateTime: 2023-02-10  15:12* @Description: TODO* @Version: 1.0*/
public class Main {public static void main(String[] args) {ApplicationContext content= new ClassPathXmlApplicationContext("beans.xml");User user = content.getBean("user", User.class);user.add();}
}

-filtertype="" expression=""/>

属性注入

@Autowired:根据类型注入

@Qualifier:根据名称进行注入,和Autowired

@Resource:可以根据类型或名称注入

@Value:普通属性注入

javax:java扩展包


完全注解开发

Configuration:作为配置类,替代xml配置文件

package com.atguigu.spring5.SpringConfiguration;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;@Configuration
@ComponentScan(basePackages = {"com.atguigu.spring5"})
public class SpringConfigure {}
package com.atguigu.spring5.ScopeTest;import org.springframework.stereotype.Component;/*** @BelongsProject: 02-Spring* @BelongsPackage: com.atguigu.spring5.Book* @Author: dengLiMei* @CreateTime: 2023-02-08  19:28* @Description: TODO* @Version: 1.0*/
@Component
public class Book {private String bname;private String bauthor;public void setBname(String bname) {this.bname = bname;}public void setBauthor(String bauthor) {this.bauthor = bauthor;}public static void main(String[] args) {Book book = new Book();book.setBname("abc");}public void testDemo() {System.out.println(bname + "---" + "aaa");}}
package com.atguigu.spring5.SpringConfiguration;import com.atguigu.spring5.ScopeTest.Book;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;/*** @BelongsProject: 02-Spring* @BelongsPackage: com.atguigu.spring5.SpringConfiguration* @Author: dengLiMei* @CreateTime: 2023-02-11  09:38* @Description: TODO* @Version: 1.0*/
public class Main {public static void main(String[] args) {
//        加载配置类ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfigure.class);
//        创建实例Book book = context.getBean("book", Book.class);
//        调用方法book.testDemo();}
}

输出结果:


Spring系列文章:

Spring——是什么?作用?内容?用到的设计模式?

Spring——Bean管理-xml方式进行属性注入

Spring——Bean管理-注解方式进行属性注入

Spring——什么是IOC?

Spring——AOP是什么?如何使用?

Spring——什么是事务?传播行为?事务隔离级别有哪些?

Spring——整合junit4、junit5使用方法

如果有想要交流的内容欢迎在评论区进行留言,如果这篇文档受到了您的喜欢那就留下你点赞+收藏脚印支持一下博主~

相关内容

热门资讯

董事长被留置并立案调查 新里程... 新京报讯(记者刘旭)7月6日晚,新里程健康科技集团股份有限公司(以下简称“新里程”)发布公告称,公司...
家居业一周|家具结构安全国家标... 上一周,家居企业动态不断。7月1日起,家具结构安全和有害物质限量国家标准实施;东方雨虹实控人拟减持不...
【风口解读】金时科技涨停,6月...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 7月7日,金时科技(...
结婚歌曲 结婚歌曲再过一个月我就要结婚了,我想在结婚当天放一些喜庆点的歌曲,大家给推荐点。谢谢1绿光森林--勇...
指示警卫亮枪、删电话记录,尹锡... 韩国媒体7日披露韩前总统尹锡悦所受罪名指控的细节,包括指示警卫向警察亮出武器和下令删除保密电话的记录...
太原重工:董秘感谢建议与关注,... 投资者提问:公司这么多年了,投资者提问能否加快速度回复董秘回答(太原重工SH600169):您好,感...
穿越之九尾传说中的苦无是什么? 穿越之九尾传说中的苦无是什么?忍具,战斗的兵器。
汇通集团:联合中标4.26亿元... 汇通集团晚间公告,近日,公司、河北世元工程咨询集团有限公司组成的联合体收到招标人高碑店市教育和体育局...
东极扶桑,西极若木什么意思 东极扶桑,西极若木什么意思神话传说中的扶桑与若木,本应是一棵神树的不同称谓。《说文·又部》:“聂,日...
华策影视:大策投资质押2423... 观点网讯:7月7日,华策影视发布公告,披露了股东股份质押的相关信息。公告显示,杭州大策投资有限公司(...