Java spring 通过注解方式创建对象的示例详解
作者:-耿瑞- 发布时间:2023-07-03 01:18:05
java spring 通过注解方式创建对象
首先 我们要搞清楚一个基础概念
什么是注解?
注解
可以说是代码里的一些特殊标记。
格式是 @() 里面可以有 属性=属性的值 可以有多个属性值 多属性值之间 用逗号隔开
注解 可以加载很多东西上面 例如 方法上面 属性上面 还可以在类上面
而 注解方式的目的 或者好处 在于简化xml的配置操作
然后 我们来代码走一下
我们创建一个java项目 引入spring 的几个基础包
然后 需要做注解方式的话 你需要多引入一个 JAR包
aop包中有一些封装 为注解做了一些功能
然后我们在src下创建 一个包 叫 Bean 在 Bean包下再创建一个包 叫 UserData
然后 在src下创建配置文件 bean.xml 参考代码如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<context:component-scan base-package="Bean.UserData"></context:component-scan>
</beans>
这里 我们利用了 context:component-scan开启扫描 spring 如果你想用注解 一定要把包的 项目扫描打开
不然他是找不到注解的
那么 这里 我们指定扫描的包就是 Bean下的UserData 由base-package属性指定
然后 我们了解一下 创立类对象的注解 有四个
@Component
@Service
@Controller
@Repository
他们都能实现创建对象这个功能
然后 我们在UserData包下创建一个user类
参考代码如下
package Bean.UserData;
import org.springframework.stereotype.Component;
//最上面这个注解 就相当于之前xml中的bean声明 value就是当时的id class 就是当前类的路径
//类上的注解 value可以不写 不写用默认值 默认值就是类的名字
//但如果你的类名名首个字母是大写 默认值会将首字母变成小写
@Component(value = "userService")
public class user {
public String toString(){
return "我是user对象";
}
}
注解上面的注释我写的还是比较认真的 大家可以好好看一下
然后我们创建测试类来试一下效果
在src下编写测试类 我这里直接叫text 参考代码如下
import Bean.UserData.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class text {
public static void main(String args[]) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
User user = context.getBean("userService", User.class);
System.out.println(user);
}
}
运行结果如下
也是成功输出了user 带出了他的toString
指定xml 去扫描 Bean下的UserData包 读取了 所有有注解的文件 读到了user 通过注解声明的userService bean对象
补充:Spring注解开发(创建对象)
@Component:用于创建对象
@Component:用于把当前类存入Spring容器中
value:用于指定bean的id,不写时,默认是当前类名的首字母小写
@Component(value=“accountService”)
实体类:
@Component(value="accountService")
public class AccountServiceImpl implements AccountService{
public void saveAccount() {
System.out.println("sevice方法被执行了....");
}
}
bean.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--用于指定要扫描的包-->
<context:component-scan base-package="com.hh">
</context:component-scan>
</beans>
测试类:
public class Client {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean.xml");
AccountService service =
context.getBean("accountService", AccountService.class);
System.out.println(service);
}
}
@Repository
@Service
@Controller
以上三个注解和@Component作用相同
来源:https://blog.csdn.net/weixin_45966674/article/details/128892717


猜你喜欢
- 废话不多说了,直接给大家贴代码了,具体代码如下所示:html代码如下:<body><input id="file
- 废话不多说了,直接给大家贴java代码了。具体代码如下所示:/*支付流程*//****Controller.java 代码如下:*/@Req
- 一个项目中肯定会存在很多共用的查询数据,对于这一部分的数据,没必要每一个用户访问时都去查询数据库,因此配置二级缓存将是非常必要的。Mybat
- 我这里 shiro 并没有集成 springMVC,直接使用 ini 配置文件。shiro.ini[main]# Objects and t
- SpringCloud是分布式微服务架构的一站式解决方案,十多种微服务架构落地技术的集合体,俗称微服务全家桶SpringCloud和Spri
- 在Android开发中,经常会遇到这样一种情况,即需要将用户偏好设置(如用户偏好的app色彩主题)、与特定登录用户相关的设置(如不同登陆用户
- 前言Webp是Google推出的一种新型图片格式,相比于 传统的PNG/JPG图片有着更小体积的优势,在Web中有着广泛的应用。由于Webp
- 问题分析疑惑满满小枫听到这个面试题的时候,心想这是什么水面试官,怎么问这么简单的题目,心想一个for循环加上equal判断再删除不就完事了吗
- 我们还是接着我们上一篇博客中的内容往下讲哈,上一节 Android手势密码view笔记(一)我们已经实现了我们的IndicatorView指
- 前言本节我们将学习一下@PostConstruct的用法。概述@PostContruct是spring框架的注解,在方法上加该注解会在项目启
- 本文实例为大家分享了java库存管理系统的具体代码,供大家参考,具体内容如下模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。经过分析
- 本篇我们讲解下使用spring创建bean的几种方式,创建bean,也可以叫组件注册,就是把单例bean放到spring容器中。我们定义如下
- 目录前言一、小提二、将传感器改成事件分发机制三、使用四、源码总结前言在之前写了一篇关于3D效果的文章,借助传感器展示,有小伙伴问可不可以改成
- 本文实例为大家分享了java文件上传下载的具体代码,供大家参考,具体内容如下文件上传@RequestMapping(value="
- 使用范围: 只能作用在方法和构造函数之上@SneakyThrows注解的作用得从java的异常设计体系说起。java中常见的异常有两种:Ex
- 前言在写项目的时候经常需要特定的时间做一些特定的操作,尤其是游戏服务器,维护线程之类的,这时候就需要用到定时器。如果此时你刚好用的是spri
- •android-support-v4.jar,这是谷歌官方给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Andro
- Starting创建手势密码可以查看 CreateGestureActivity.java 文件.登陆验证手势密码可以看 GestureLo
- 一.问题1.HashSet,TreeSet是如何使用hashCode()和equal()方法的2.TreeMap,TreeSet中的对象何时
- 一、场景Java实现文件上传到服务器本地,并通过url访问有个需求,前端上传文件,需要用开关的方式同时支持上传七牛和服务器本地,方便不同的用