RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[spring]

Martin Hope
Vyacheslav Arkhipkin
Asked: 2025-04-30 03:44:20 +0000 UTC

供批评的客户端-服务器应用程序架构图

  • 6

有一个客户端服务器应用程序。我制作了这张图。她看上去怎么样?

通过产品的文本属性进行全文搜索。

Redik - 用于计算商品、卖家平均评分值的缓存层

S3——用于存储大文件

在此处输入图片描述

spring
  • 1 个回答
  • 28 Views
Martin Hope
CurS
Asked: 2024-07-19 03:40:19 +0000 UTC

在intellij社区创建Spring项目

  • 5

我决定尝试Spring,通过springinitializr(maven,java)创建了一个项目,在intellij(社区)中打开它,最后它拒绝识别它,依赖项在xml文件中以红色突出显示(它找不到它们) )以及主文件(.java,在 spring 项目中默认创建)中的所有导入和注释:@SpringBootApplication、@Springapplication 等。我也是,我一整天都在绞尽脑汁,我仍然没有找到解决方案,也许我看起来很糟糕,问题是废话,idk,所以你就不能写一个解决这个问题的解决方案吗?我怎样才能在社区版本中打开一个spring项目,也许我应该使用旗舰版。如果您需要附上屏幕截图,请写下来。

spring
  • 1 个回答
  • 34 Views
Martin Hope
leklerk
Asked: 2024-04-13 20:45:03 +0000 UTC

添加 SessionFactory bean 破坏了项目

  • 5

我需要使用 Hibernate、Spring 和 Lombok 制作一个空白项目。我做到了,但决定通过添加一些逻辑来进行实验。为 SessionFactory 添加 bean 后,项目停止启动并出现错误

描述:组件需要一个名为“entityManagerFactory”的 bean,但无法找到。操作:考虑在您的配置中定义一个名为“entityManagerFactory”的 bean。

请告诉我可能出了什么问题?

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>VTBInnotehDemo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>VTBInnotehDemo</name>
    <description>Demo project for VTB Innoteh</description>
    <properties>
        <java.version>17</java.version>
        <spring-cloud.version>2023.0.1</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
@Configuration
public class MyConfig {
    @Bean
    public SessionFactory getSessionFactory() {
        return buildSessionFactory(Person.class, Phone.class);
    }
    private SessionFactory buildSessionFactory(Class<?> ...annotatedClasses) {
        Configuration configuration = new Configuration().configure("hibernate.cfg.xml");
        MetadataSources metadataSources = new MetadataSources(createServiceRegistry(configuration));
        Arrays.stream(annotatedClasses).forEach(metadataSources::addAnnotatedClass);
        Metadata metadata = metadataSources.getMetadataBuilder().build();
        return metadata.getSessionFactoryBuilder().build();
    }
    private StandardServiceRegistry createServiceRegistry(Configuration configuration){
        return new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
    }
}
spring
  • 1 个回答
  • 12 Views
Martin Hope
Дмитрий
Asked: 2023-12-13 09:55:45 +0000 UTC

Spring Data JPA deleteById方法不删除实体

  • 5

尽管该方法deleteById Spring Data Jpa确实有效,但它不会从数据库中删除该对象。我读到这是因为该对象具有关系ManyToOne并且对其的引用保留在父实体中,该实体存储这些对象的列表,首先您需要从该列表中删除该对象。但是如何才能做到这一点,才能不加载整个对象列表(其中可能有数千个)?

我翻遍了PgAdmin(图形数据库管理界面PostgreSQL):在那里我没有找到entity1_entity2主表之间的任何关系表(如)。

CascadeType由于某种原因,它对我也不起作用。

确切地说,不可能删除与实体和Comment相关的对象。ManyToOnePersonTask

这是两个父实体Person和Task:

@Entity
@Table(name = "people")
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @NotBlank
    private String name;
    @Email
    private String email;
    @Size(min = 5, message = "Пароль должен содержать минимум 5 символов")
    private String password;
    private transient String passwordConfirm;
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "author")
    private List<Task> createdTasks;
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "executor")
    private List<Task> executableTasks;
    @CreatedDate
    private LocalDateTime registrationDate;

    
    public Person(){}

// getters, setters
@Entity
@Table(name = "tasks")
public class Task {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @NotBlank(message = "Заголовок не может быть пустым")
    private String title;
    @NotBlank(message = "Описание не может быть пустым")
    private String description;
    @NotNull(message = "У задачи должен быть статус")
    @Enumerated(EnumType.STRING)
    private Status status;
    @NotNull(message = "У задачи должен быть приоритет")
    @Enumerated(EnumType.STRING)
    private Priority priority;
    @ManyToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name = "author_id", referencedColumnName = "id")
    private Person author;
    @ManyToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name = "executor_id", referencedColumnName = "id")
    private Person executor;
    @NotNull(message = "У задачи должен быть исполнитель")
    private transient long executorId;
    @OneToMany(mappedBy = "task")
    private List<Comment> comments;
    @CreatedDate
    private LocalDateTime createdAt;
    private LocalDateTime editedAt;
    
    public Task(){}

// getters, setters

子实体Comment:

@Entity
@Table(name = "comments")
public class Comment {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @NotBlank(message = "Комментарий не может быть пустым")
    private String body;
    @ManyToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name = "task_id", referencedColumnName = "id")
    private Task task;
    private transient long taskId;
    @ManyToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name = "author_id", referencedColumnName = "id")
    private Person author;
    @CreatedDate
    private LocalDateTime createdAt;
    private LocalDateTime editedAt;
    
    public Comment(){}
    
// getters, setters

控制器方法:

    @DeleteMapping("/comment/delete/confirm/{id}")
    public String deleteComment(@PathVariable long id, Model model, @AuthenticationPrincipal PersonDetails pd) {
        Comment comment = commentService.findById(id);
        if (pd == null || comment.getAuthor().getId() != pd.getPerson().getId()) 
            throw new MismatchIdentifierException("ID автора комментария и Ваш не совпадают. Похоже, что Вы не являетесь автором.");
        commentService.deleteById(id);
        System.out.println("\n\n\n\ndeleting succesful");
        model.addAttribute("task", comment.getTask());
        return showTask(comment.getTask().getId(), model, pd);
    }

结果,显示一条消息"deleting succesful"。

服务方式:

    public void deleteById(long id) {
        commentRepository.deleteById(id);
    }

存储库:

@Repository
public interface CommentRepository extends JpaRepository<Comment, Long> {

    @Query(value = "SELECT * from comments WHERE task_id = ?1", nativeQuery = true)
    List<Comment> findByTask(long id);
    @Query(value = "SELECT * from comments WHERE author_id = ?1", nativeQuery = true)
    List<Comment> findByAuthor(long id);
    Page<Comment> findByAuthor_id(long id, Pageable pageable);
}
spring
  • 1 个回答
  • 31 Views
Martin Hope
Oberon
Asked: 2023-10-21 00:15:10 +0000 UTC

mvn clean package 构建没有依赖项(库)的 jar

  • 5

我使用Intellij Idea

mvn clean package 收集完全缺少 pom 文件中指定的库(依赖项)的 jar。jar 昵称重达半兆字节。

在这种情况下,jar 工件(Build Artifact..)已完全组装并启动。这里罐子的重量是 47 MB​​。

这不是我第一次收集项目。

我已经为自己毁掉了整个莫斯科。铲掉项目结构。我知道某处出了问题。但我不知道在哪里。

请帮我往哪个方向挖掘,

下面是pom.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.15</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.destiny</groupId>
    <artifactId>startup</artifactId>
    <version>0.0.1</version>
    <name>Startup/name>
    <description>your start will be fine</description>


    <properties>
        <java.version>11</java.version>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.source>11</maven.compiler.source>
        <start-class>com.destiny.startup.StartupApplication</start-class>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
            <!-- исключаем стандартное логгирование спринга, из-за конфликта с log4j2 -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-springsecurity5</artifactId>
        </dependency>
        <!--        сохраняет сессии ремемберми в БД,-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
            </plugin>
        </plugins>
    </build>

</project>

构建日志:

[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------< com.destiny:startup >-------------------------
[INFO] Building Startup 0.0.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] Parameter 'parameters' is unknown for plugin 'maven-compiler-plugin:3.3:compile (default-compile)'
[WARNING] Parameter 'parameters' is unknown for plugin 'maven-compiler-plugin:3.3:testCompile (default-testCompile)'
[INFO] 
[INFO] --- resources:3.2.0:resources (default-resources) @ startup ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] Copying 2 resources
[INFO] Copying 61 resources
[INFO] 
[INFO] --- compiler:3.3:compile (default-compile) @ startup ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 60 source files to D:\IdeaProjects\SpringStartup\target\classes
[INFO] /D:/IdeaProjects/SpringStartup/src/main/java/com/destiny/startup/config/SecurityConfig.java: D:\IdeaProjects\SpringStartup\src\main\java\com\destiny\startup\config\SecurityConfig.java uses or overrides a deprecated API.
[INFO] /D:/IdeaProjects/SpringStartup/src/main/java/com/destiny/startup/config/SecurityConfig.java: Recompile with -Xlint:deprecation for details.
[INFO] 
[INFO] --- resources:3.2.0:testResources (default-testResources) @ startup---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Using 'UTF-8' encoding to copy filtered properties files.
[INFO] skip non existing resourceDirectory D:\IdeaProjects\SpringStartup\src\test\resources
[INFO] 
[INFO] --- compiler:3.3:testCompile (default-testCompile) @ startup ---
[INFO] No sources to compile
[INFO] 
[INFO] --- surefire:2.22.2:test (default-test) @ startup ---
[INFO] No tests to run.
[INFO] 
[INFO] --- jar:3.2.2:jar (default-jar) @ startup ---
[INFO] Building jar: D:\IdeaProjects\SpringStartup\target\startup-0.0.1.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.856 s
[INFO] Finished at: 2023-10-20T19:34:03+03:00
[INFO] ------------------------------------------------------------------------
[WARNING] 
[WARNING] Plugin validation issues were detected in 4 plugin(s)
[WARNING] 
[WARNING]  * org.apache.maven.plugins:maven-resources-plugin:3.2.0
[WARNING]  * org.apache.maven.plugins:maven-jar-plugin:3.2.2
[WARNING]  * org.apache.maven.plugins:maven-compiler-plugin:3.3
[WARNING]  * org.apache.maven.plugins:maven-surefire-plugin:2.22.2
[WARNING] 
[WARNING] For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): [BRIEF, DEFAULT, VERBOSE]
[WARNING] 

Process finished with exit code 0

spring
  • 1 个回答
  • 35 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5