spring配置文件接收

< aop:config >

    <aop:aspectj-autoproxy />
    <aop:config>
        <aop:pointcut id="appService" expression="execution(* com.test.appliance.business.admin.service.*.*(..))" />

        <aop:advisor advice-ref="txAdvice" pointcut-ref="appService" />
    </aop:config>

execution(* com.test.appliance.business.admin.service. * . *(. .) )” />
    注释:
         表示在com.test.appliance.business.admin.service包下所有类的方法
         第一个* 表示返回值类型
         第二个*表示所有的类
         第三个* 表示类的所有方法
         括号里面的..代表所有的参数
 

别名 < property name=” typeAliasesPackage ” value=” ” />

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />

        <!--***每个项目不一样*** -->
        <property name="typeAliasesPackage" value="com.test.appliance.commons.base.module.admin.model" />
        <!--***每个项目不一样*** -->

        <property name="mapperLocations">
            <list>
                <value>classpath:/mapper/*Mapper.xml</value>
            </list>
        </property>
        <property name="plugins">
            <array>
                <bean class="com.test.appliance.commons.base.utils.jdbc.PagePlugin">
                    <property name="properties">
                        <value>pageSqlId=.*Page.*</value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

<引用>
         在Mybatis中, 所有的操作都是基于SqlSession操作的, SqlSession是由SessionFactory来产生的, SessionFactory是由SessionFactoryBuileder产生的. 但是Mybatis-Spring是基于SessionFactoryBean的, 在使用Mybatis-Spring的时候, 我们也需要SqlSession, 而且这个SqlSession是内嵌在程序中, 一般不需要我们直接访问.
      SqlSession也是由SessionFactory来产生的, 但是Mybatis-Spring给我们封装了一个SessionFactoryBean, 在这个bean里面还是通过SessionFactoryBuidder来建立对应的SessionFactory,进而获取到对应的SqlSession,
 
通过SessionFactoryBean 我们可以通过对其指定一些属性来提供Mybatis的一些配置信息, 所以需要在Spring的配置文件中定义一个SessionFactoryBean
这里写图片描述

  1. 在定义SqlSessionFactory的时候, dataSource是必须指定的, 它表示用于连接数据库的数据源
  2. mapperLocations: 表示我们的mapper文件存放的位置, 当mapper文件跟对应的mapper接口处于同一位置的时候可以不用指定该属性的值
  3. configLocation: 同于指定Mybaits的配置文件的位置, 如果指定了该属性, 那么会以配置文件的内容作为配置信息构建SqlSessionFactoryBuilder, 但是后续指定的内容会覆盖该配置文件里面指定的对应内容
  4. typeAliasesPackage: 一般对应我们的实体类所在的包,这个时候会自动取对应包中类的名称(首字母小写)作为别名, 多个package之间可以用逗号或者分号来进行间隔.
    注意: value值一定要是包的全名
    <property name="typeAliasesPackage" value="com.test.appliance.commons.base.module.admin.model" />
  1. typeAliases: 用来指定别名, 指定了该属性后,Mybatis会把这个类型的短名作为这个类型的别名, 前提是该类上没有@Alias注解, 否则将使用该注解对应的值作为此种类型的别名
    注意: value值一定要是类的全限定名
  2. plugins: 用来指定Mybatis的Interceptor(拦截器)
  3. typeHandlersPackage : 用来指定typeHandler所在的包, 如果指定了该属性,SqlSessionFactoryBean会自动把该包下面的类注册成为对应的typeHandler. 多个package之间可以用逗号或者分号进行分割
  4. typeHandlers: 标识typeHandler
     

spring事务

    //配置spring的事务管理者PlatformTransactionManager 
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    //开启事务控制
    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />

* < tx: advice> *
 
         注解解释: 该标签是用来指定不同的事务
标签内设置id和transaction-manager属性 , id是advice 的标识, 而transaction-manager 则必须引用一个PlatformTransactionManager
      除了这两个属性外, 还可以通过 < tx:attributes /> 标签所创建的通知的行为.并且只可以用< tx:method >作为子元素
下面是 < tx:method > 的不同属性的介绍
这里写图片描述

    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="select*" read-only="true" />
            <tx:method name="find*" read-only="true" />
            <tx:method name="get*" read-only="true" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="insert*" propagation="REQUIRED" />
            <tx:method name="save*" propagation="REQUIRED" />
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="*" />
        </tx:attributes>
    </tx:advice>

         < tx:method name=”save*”>:表示将拦截以save开头的方法,被拦截的方法将应用配置的事务属性:propagation=”REQUIRED”表示传播行为是Required,isolation=”READ_COMMITTED”表示隔离级别是提交读;
         < tx:method name=”*”>:表示将拦截其他所有方法,被拦截的方法将应用配置的事务属性:propagation=”REQUIRED”表示传播行为是Required,isolation=”READ_COMMITTED”表示隔离级别是提交读,read-only=”true”表示事务只读;

—>spring配置文件还有很多, 先写这么多,待补充

一起学习,共同进步

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以回答这个问题。Spring Boot 可以通过使用 MultipartFile 类型的参数来接收文件。例如,可以在控制器方法中使用 @RequestParam 注解来接收文件参数,如下所示: ``` @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file) { // 处理文件上传逻辑 return "上传成功"; } ``` 在上面的代码中,我们使用 @PostMapping 注解来指定处理 POST 请求的方法,使用 @RequestParam 注解来指定接收的文件参数名为 "file",并将其绑定到 MultipartFile 类型的 file 参数中。在方法中,我们可以编写处理文件上传的逻辑,最后返回上传成功的消息。 希望这个回答能够帮助到你。 ### 回答2: 在Spring Boot中,可以使用MultipartFile类来接收文件。这个类是Spring框架提供的,用于处理文件上传的封装类。接收文件的过程可以通过以下步骤完成: 首先,需要在Controller中定义一个接口,用来接收文件。可以使用@RequestParam注解来指定接收文件的参数名,并将参数类型设置为MultipartFile。例如: ```java @PostMapping("/upload") public String handleFileUpload(@RequestParam("file") MultipartFile file) { // 处理文件上传逻辑 return "成功接收到文件:" + file.getOriginalFilename(); } ``` 在上述例子中,文件参数名为"file",文件上传成功后,会返回一个包含文件名的成功信息。 在接口中,我们可以用MultipartFile对象获取文件的各种信息,例如原始文件名、文件大小、文件内容等。可以使用以下方法: - file.getOriginalFilename():获取文件的原始名称。 - file.getSize():获取文件的大小。 - file.getBytes():获取文件的内容字节数组。 接收文件后,可以进行一些文件处理的操作,例如将文件保存到本地磁盘或存储到数据库中等。 需要注意的是,在进行文件上传时,还需要设置正确的请求头以及文件大小限制等。这些可以在application.properties或application.yml中进行配置。例如: ```yaml spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB ``` 上述例子中,限制了上传文件的最大大小为10MB。 总结起来,通过使用MultipartFile类,结合@RequestParam注解,我们可以轻松实现Spring Boot接收文件的功能。在接收文件后,可以进行一些后续的文件处理操作。需要注意配置文件上传的一些限制,以保证安全和性能。 ### 回答3: 使用Spring Boot接收文件可以通过以下步骤完成: 1. 配置文件上传的最大限制:在application.properties中添加以下配置,设置文件上传的最大大小限制。 ``` spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB ``` 2. 创建Controller类:创建一个Controller类,用于接收文件上传的请求。 ```java @RestController public class FileUploadController { @PostMapping("/upload") public String uploadFile(@RequestParam("file") MultipartFile file) { // 处理上传的文件 // 文件可以通过file.getInputStream()获取,也可以通过file.getBytes()获取字节数组 // 返回上传成功的消息 return "File uploaded successfully."; } } ``` 3. 启用文件上传:在应用的启动类上添加`@EnableMultipart`注解,启用文件上传功能。 ```java @SpringBootApplication @EnableMultipart public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 4. 创建文件上传表单:在前端页面中创建一个表单,用于上传文件。 ```html <form method="POST" action="/upload" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="Upload" /> </form> ``` 这样,当用户选择文件并点击“上传”按钮时,文件将被发送到`/upload`接口,然后在Controller类中使用`@RequestParam("file")`注解接收文件。可以在该方法中处理文件(如保存到磁盘、处理文件内容等),然后返回上传成功的消息给用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值